[Unity Plugin] purchaseUpdatesRequestSuccessfulEvent empty list
Hello. I'm able to make purchases using the SDKTester client app, with no problems, but I'm not able to restore an entitle purchase in my app. I tried a simple test, to check if already made purchases (entitle) where notified in purchaseUpdatesRequestSuccessfulEvent callback. The quickest and easiest way to reproduce: - install the SDKTester app. - write a simple JSON data file to /mnt/sdcard/ - test the sample Unity scene, included with the plugin. Following these simple steps, I'm able to purchase succesfully. The item appears in "Active Transactions", inside the SDKTester client app. Printing log information, and looking at Android's logcat, purchaseUpdatesRequestSuccessfulEvent callback is fired after every click over "Initiate Item Data Request", but almost everytime the list of recepits contains no item (the list size is zero), as well as revoked sku list; both are empty. No matter if the app is killed and restarted, same result. Only very rarely happends that the callback gets called with the receipt of the entitle content already purchased. This is the exact behaviour I'm observing with my own app. Logging logcat for any period of time does not show any call to purchaseUpdatesRequestSuccessfulEvent in the future. I modified the AndroidManifest.xml as stated, and also I'm quite sure I did what the instructions from Amazon described. Any idea of what could be going wrong? Tested over Unity 3.5 and Unity 4, on emulator and also on a real device. Thank you,
Hey, I got a reply from Amazon support team, that this is a limitation of the SDK tester, and it should work fine on the live service! Not that reassuring but we'll see. I haven't launched yet so can't say any more at the moment.
The initiatePurchaseUpdatesRequest function is automatically called by the AmazonIAPPlugin.class's implementation of onSDKAvailable. The developer does not need to take further action to ensure that this method is called aside from implementing the Unity IAP plugin and calling a itemDataRequest in order to register the receiver.