As the Amazon IAP plugin is a 3rd-party plugin (Amazon), we don’t have direct control over the source or functionality. Each plugin documentation page has a Support section at the bottom, and I encourage you to contact them directly about this issue. We are also making them aware of the issue and are trying to get a fix in place as quickly as possible.
I had a look at the approval confirmation I got from Amazon in August.
Apparently they tested on a Samsung device. (This app includes Amazon IAP)
RESULTS: YOUR APP CLEARED TESTING FOR ALL TARGETED DEVICES
Device Result Comments
Non-Amazon Android (SAMSUNG - 4.1.X ) PASS
Fire HD 8.9 WAN PASS
Fire HD 8.9 Wifi PASS
Kindle Fire (1st Generation) PASS
Kindle Fire PASS
Kindle Fire HD PASS
@ingemar Thank you so much for all this work! It seems obvious, but I don’t have the Amazon store on my Samsung. So let me get that installed in the next days and give it another try. Will keep this thread posted.
@ingemar - So, we did some testing on my Samsung Galaxy S4 and what we found is that if we add BOTH the Amazon Market and the SDKTester to our device, then store.init() works with the following trace:
D/PurchasingManager(28630): In App Purchasing SDK - Sandbox Mode: PurchasingObserver registered: plugin.amazon.iap.CoronaPurchasingObserver@425c0ec0 I/PurchasingManager(28630): Purchasing Framework initialization complete. Build ID 1.0.3 D/qdmemalloc( 211): ion: Mapped buffer base:0x479e2000 size:8355840 fd:53 E/WifiHW ( 772): ##################### set firmware type 0 ##################### D/WifiStateMachine( 772): setWifiEnabled : WifiNative.setFwType(0) D/qdmemalloc( 211): ion: Mapped buffer base:0x40081000 size:4096 fd:55 D/SandboxRequestHandler(28630): In App Purchasing SDK - Sandbox Mode: sendGetUserIdRequest E/SELinux (28659): selinux\_android\_seapp\_context\_reload: seapp\_contexts file is loaded from /seapp\_contexts D/dalvikvm(28659): Late-enabling CheckJNI D/STATUSBAR-NetworkController( 1041): refreshSignalCluster: data=0 bt=false I/dalvikvm(28659): Turning on JNI app bug workarounds for target SDK version 9... V/AlarmManager( 772): waitForAlarm result :4 D/qdmemalloc( 211): ion: Mapped buffer base:0x43290000 size:737280 fd:67 D/qdmemalloc( 211): ion: Mapped buffer base:0x40490000 size:4096 fd:69 I/AmazonSDKTester(28659): Sending UserId Response Broadcast ({"status":"SUCCESSFUL","requestId":"25ae1434-3204-423d-9d91-246ba566add9","userId":"DefaultTestUser"}) D/SandboxResponseHandler(28630): In App Purchasing SDK - Sandbox Mode: handleResponse D/SandboxResponseHandler(28630): In App Purchasing SDK - Sandbox Mode: Running Runnable for userIdResponse with requestId: 25ae1434-3204-423d-9d91-246ba566add9
But, if we were to have only the Amazon Market without the SDK Tester, then store.init() fails and here is the trace (it doesn’t return)
D/PurchasingManager(28007): In App Purchasing SDK - Sandbox Mode: PurchasingObserver registered: plugin.amazon.iap.CoronaPurchasingObserver@425f89f0 I/PurchasingManager(28007): Purchasing Framework initialization complete. Build ID 1.0.3 D/qdmemalloc( 211): ion: Mapped buffer base:0x473ca000 size:8355840 fd:61 D/qdmemalloc( 211): ion: Mapped buffer base:0x400f1000 size:4096 fd:50 D/dalvikvm( 1311): GC\_CONCURRENT freed 496K, 9% free 18241K/20000K, paused 2ms+2ms, total 47ms D/FlurryAgent(28007): Report successful D/SandboxRequestHandler(28007): In App Purchasing SDK - Sandbox Mode: sendGetUserIdRequest W/ActivityManager( 772): Unable to start service Intent { act=com.amazon.testclient.iap.appUserId flg=0x10000000 (has extras) } U=0: not found
Not sure why it won’t work without SDKTester. But you are correct, store.init() is now working for us.