How can I build for Amazon Fire tablets but NOT Fire TV? And what about in-app purchases?

Perhaps I shouldn’t have put these 2 issues together, so sorry in advance. Please indicate which # you are answering in this thread.

  1. I’m trying to get the inapp purchases to work on my Amazon app - but nothing is called back when I init the store.

  2. Amazon thinks my app supports Fire TV and will not allow me to continue without uploading Fire TV assets. How can I support tablets without Fire TV?

These are the two remaining issues we need to resolve so we can launch our app, which runs perfectly, on the Amazon platform. Any help is very much appreciated.

  1. The inApp purchases only work when the app is live or if you use the Amazon IAP simulator tool (you can download it from their site) where you upload the catalog to the simulator and then run your app. Forgive me if you are already doing this and it is not working.

  2. I don’t know about the assets (you might have to include them) but as long as you don’t add the line below they will not be supported on on FireTV. You won’t even be able to download it.

    usesFeatures = { { name = “android.hardware.touchscreen”, required = false }, } 

@agramonte, thank you for your help. I’ve installed the app tester and can see my loaded json file of my in-app products. However, when I init the store in Corona, nothing returns in the callback. Is this normal on Amazon? Or could it be that I have to download the apk from the amazon store, rather than just load it to the amazon device myself (adb install -r “playmyapp.apk”) ?

Doesn’t sound normal to me. I use the badger plugin from the market place, the amazon testing app and I side load my app just as you mention. Since I use badger my code is very simple and exactly the same for all stores. I don’t know what you expect from the init call, but when I request the catalog I do get the catalog. 

I’m using the Corona amazon plugin in build.settings:

      [“plugin.amazon.iap”] = { publisherId = “com.coronalabs”,supportedPlatforms = { [“android-kindle”] = true } },

For Google Play, when I call store.init(callBack), the callBack event returns with transaction=“initialized”, after which I load_products. However, because Amazon doesn’t return any callback from store.init, I follow store.init with a check if store=amazon and if so, I then load_products. This solved problem #1, as I can see the entire list of products.

Also, for Google Play, when a purchase is completed, to complete the transaction, I had to use store.consumePurchase(productList,transactionCallback). However, for Amazon, to complete the transaction, I then use store.finishTransaction(transaction). This solved problem #2, as the purchase completes.

@agramonte, thank you for your help in pointing me to install the Amazon App Tester on my amazon device. Your help made a big difference! If I didn’t have 3 games already using my own code for purchases, which is working and debugged, I would use Badger, so thank you for that referral, too. I plan to use IAP Badger in the future to avoid having to manage these issues myself. Again, thank you.

For others looking to avoid IAP issues, follow @agramonte’s advice and use https://marketplace.coronalabs.com/corona-plugins/iap-badger

To download the Amazon App Tester, go to https://developer.amazon.com/docs/in-app-purchasing/iap-install-and-configure-app-tester.html

After you download the JSON IAP file from the Amazon manage-apps in-app purchases section, you’ll push it to the amazon device so that the app tester will know what products to simulate. To do this push, use the command line “adb” to your Amazon device as follows:

$ adb push [_Your_JSON_File_Folder_]/amazon.sdktester.json /mnt/sdcard/amazon.sdktester.json

  1. The inApp purchases only work when the app is live or if you use the Amazon IAP simulator tool (you can download it from their site) where you upload the catalog to the simulator and then run your app. Forgive me if you are already doing this and it is not working.

  2. I don’t know about the assets (you might have to include them) but as long as you don’t add the line below they will not be supported on on FireTV. You won’t even be able to download it.

    usesFeatures = { { name = “android.hardware.touchscreen”, required = false }, } 

@agramonte, thank you for your help. I’ve installed the app tester and can see my loaded json file of my in-app products. However, when I init the store in Corona, nothing returns in the callback. Is this normal on Amazon? Or could it be that I have to download the apk from the amazon store, rather than just load it to the amazon device myself (adb install -r “playmyapp.apk”) ?

Doesn’t sound normal to me. I use the badger plugin from the market place, the amazon testing app and I side load my app just as you mention. Since I use badger my code is very simple and exactly the same for all stores. I don’t know what you expect from the init call, but when I request the catalog I do get the catalog. 

I’m using the Corona amazon plugin in build.settings:

      [“plugin.amazon.iap”] = { publisherId = “com.coronalabs”,supportedPlatforms = { [“android-kindle”] = true } },

For Google Play, when I call store.init(callBack), the callBack event returns with transaction=“initialized”, after which I load_products. However, because Amazon doesn’t return any callback from store.init, I follow store.init with a check if store=amazon and if so, I then load_products. This solved problem #1, as I can see the entire list of products.

Also, for Google Play, when a purchase is completed, to complete the transaction, I had to use store.consumePurchase(productList,transactionCallback). However, for Amazon, to complete the transaction, I then use store.finishTransaction(transaction). This solved problem #2, as the purchase completes.

@agramonte, thank you for your help in pointing me to install the Amazon App Tester on my amazon device. Your help made a big difference! If I didn’t have 3 games already using my own code for purchases, which is working and debugged, I would use Badger, so thank you for that referral, too. I plan to use IAP Badger in the future to avoid having to manage these issues myself. Again, thank you.

For others looking to avoid IAP issues, follow @agramonte’s advice and use https://marketplace.coronalabs.com/corona-plugins/iap-badger

To download the Amazon App Tester, go to https://developer.amazon.com/docs/in-app-purchasing/iap-install-and-configure-app-tester.html

After you download the JSON IAP file from the Amazon manage-apps in-app purchases section, you’ll push it to the amazon device so that the app tester will know what products to simulate. To do this push, use the command line “adb” to your Amazon device as follows:

$ adb push [_Your_JSON_File_Folder_]/amazon.sdktester.json /mnt/sdcard/amazon.sdktester.json