In-App purchase for iOS consumable items becoming restorable items

After an in-aap purchase apple alert view with “This In-App purchase has already been bought. It will be restored for free” comes everytime.

PlatformIAPHelper class in iOS Framework module does not give a call back to paymentQueueUpdatedTransactions( ) so neither the finishTransaction( ) and if i manually add
---->>>>> ((SKPaymentQueue)SKPaymentQueue.defaultQueue()).addTransactionObserver(this) in the PlatformIAPHelper default constructor the mine iOS application get crashed !
Please suggest some help as mine LibGDX game is almost done except this issue .

Dear Manjul_Kadyan,

is this the same issues as this one? Has this issue been solved?

Yes,Dear Kristóf Liliom it’s the same issue and its been resolved.
Thanks

Dear Kristóf Liliom,

Is their any change in in-App purchase module in the latest moe 1.3 beta ?.
As now it is not getting any call backs for the product requests i.e. SKProductsRequestDelegate override methods neither productsRequestDidReceiveResponse nor requestDidFailWithError .
but before it was running quite good with successful transactions as well

Dear Manjul_Kadyan,

there were no changes there.

Best Regards,
Kristóf

After upgrading to 1.3 myself I’m seeing a similar behavior. Did you ever figure out the problem @Manjul_Kadyan?

Can you confirm, that the methods and classes in question have the necessary annotations (check in the build folder)? In our experience ProGuard is the culprit in a lot of cases. That said, it is possible, that the issue is introduced by a bug in the Nat/J processor (integrated into retrolambda), that is copying annotations from superclasses and implemented interfaces.

So if you have the right annotations on the superclasses / implemented interfaces, but not on your concrete implementation, then first you should make sure that ProGuard is set to keep the annotations. If ProGuard is not the culprit, then please provide us with a test project, so we can reproduce this issue. In the meantime, please add the missing annotations on your concrete class by hand.

Best Regards,
Gergely

You got it Gergely! I added this to my proguard.append.cfg:

-keep class apple.storekit.protocol.** { *; }

And that totally fixed it. Thanks!

Paul

2 Likes