Amazon IAP / Live App Testing Problems
Hey guys, wondering if anyone can help with my Amazon woes.
I got Game Circle working with my adhoc Android build but for some reason the IAPs don't work yet. I set up the SKUs using underscores instead of dots and everything seems in order. In fact, the app has already been approved but I cannot find the test build in the Amazon store using the test user account. If I try to test from an adhoc build, the IAP buttons don't seem to connect to the store - they just hang waiting for the callback. All my buttons work fine in iOS, so I am pretty sure the logic is sound and they are set up correctly.
Additionally I am getting a few errors
- From the automated App Testing Service:
> "Google in-app billing detected: Your APK includes a manifest declaration or an API invocation referring to Google's in-app billing services."
I have read in another thread that this error should not make any difference and in fact my app got approved so I don't think this is the problem.
- From the Live App Testing panel:
> "Your current Beta version has added devices with version codes that are below their associated Live version. Please make sure binaries have higher version codes than their original counter parts."
I think that may be the problem but I am not sure how to fix it. When I publish I set a higher version code each time.
Any ideas?
Thanks!
Comments
Amazon does not have sand boxing. You have to test via their testing app.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
I had never done it before a few weeks ago and I followed this cookbook article and got it to work pretty easily.
http://help.gamesalad.com/gamesalad-cookbook/7-using-pro-features/7-03-adding-in-app-purchases-iap/7-03-3-setting-up-iap-for-amazon-2/
Send and Receive Data using your own Server Tutorial! | Vote for A Long Way Home on Steam Greenlight! | Ten Years Left
Thanks @Lost_Oasis_Games and @jonmulcahy. I am confused by the Amazon Testing App. Is that a special app like Testflight? Because the link above and Amazon's own tutorial leads me to download the Amazon store app. This is essentially no different than their website. I download it, and still cannot see my test app within the Amazon store app for my test user that I provisioned.
Never mind, found it. It is called the Amazon App Tester and is only available on the website, not from their app store app.
Still can't get the IAPs working though. Another question if anybody knows- do Amazon IAPs only work if the game is downloaded from Amazon? Or can a Google Play app use Amazon IAPs?
I see what the problem is... i missed the part about the JSON file. Now my problem is however that I don't have an SD card in my device. Can it go somewhere else? Also, the command in terminal did not work for me:
That's OK because I can just drag and drop the file onto the device directly but just not sure where if I have no SD card.
Also, since my IAPs are already live, and not working, I am still wondering if they will only work if the app is downloaded from Amazon or if Google Play hosted apps will work with Amazon IAPs.
I'm pretty sure that terminal command is wrong, type this in:
adb <drag the JSON file here in the terminal> /mnt/sdcard/amazon.sdktester.json
edit: added the code tag so it would show up
Send and Receive Data using your own Server Tutorial! | Vote for A Long Way Home on Steam Greenlight! | Ten Years Left
if you're in the same directory the JSON file is in, it's this:
adb push amazon.sdktester.json /mnt/sdcard/amazon.sdktester.json
basically: adb push < file on your hard drive you want to put on device > < destination directory and the filename you want to call it on device >
Thanks @QASakad and @jonmulcahy - the adb command doesn't work for me I get "command not found."
But I can drag and drop files directly onto my device using Android File Transfer app. So, I created the /mnt/sdcard directories on my device since I don't have an sdcard for it but that didn't seem to work either. None of the prices get displayed and despite setting the Amazon App Tester responses to all SUCCESSFUL, none of the transactions complete.
In any case, the bigger problem is that even though the IAPs are already live, they still don't work from my adhoc builds. So if they will only work with Amazon hosted and downloaded apps, then I can't really test them in any meaningful way until the app is live on Amazon. Even if the App Tester program worked flawlessly, it doesn't seem to offer a real world test of connectivity to Amazon. So, I am considering giving up on Amazon IAP altogether and just going with Google Play IAB instead.
Does anyone know if Amazon IAPs work with Google Play hosted apps? I can't seem to find that info anywhere.
Thanks again for all your help!
you don't need to create the folder, just drag it right to the root of the mounted device, where you see the documents and download folders.
they will work with adhoc builds, i spent some time testing long before i uploaded and released an official build. just make sure you follow the steps in that article I linked above to a T, if you miss even one, or it doesn't work, post here.
Send and Receive Data using your own Server Tutorial! | Vote for A Long Way Home on Steam Greenlight! | Ten Years Left
If you type adb /? in a command prompt it should show a long list of options and stuff. If it says something like 'adb' is not recognized... then you do not have the Android build tools directory in your path.
You'll either need to add the directory to the path, usually something like C:\Program Files (x86)\Android\android-sdk\platform-tools or type the command with the full path like "C:\Program Files (x86)\Android\android-sdk\platform-tools\adb" push files file2
The quotes are important if you decide to type the ful command since there are spaces in the path.
Thanks @jonmulcahy - that worked!
Just incase anyone else need help on this I have videos on all this on my Gamesalad Guru site.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
In answer to my own question above:
The answer seems to be yes. After coming back to this after working on other things, I am still having trouble finding and downloading my Live App Test app from Amazon. So I tried the app I installed locally with the Google Play signature, and the IAP worked with the local JSON file.
I have yet to get game circle working but that is for another thread.
One thing that is relevant to this thread though, is the aforementioned fact that I still can't seem to locate the Live App Test app on Amazon itself. I get the test email from Amazon and click the link to Amazon.com. If I open it on a desktop browser, I see the test app listed, but the link takes me to a landing page for Amazon Underground. If I open it in my mobile browser, I just get the homepage. I can't find the app anywhere. This happened before and somehow I figured it out, but I can't recall how after all this time.
@Lost_Oasis_Games - you wrote earlier that Amazon does not have sandboxing. Is that old info? Isn't Live App Testing just that? https://developer.amazon.com/appsandservices/resources/development-tools/live-app-testing
Thanks for your help all, really appreciate it!
AA
Oh wow, I think I may have found my answer on the Amazon developer forums. Amazon seems to be requiring new users to download and install Amazon Underground even if the apps they are downloading aren't Amazon Underground apps! Cheeky!
Ah yes been a while since I checked out Amazon. Time to do some updating.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
Well, it seems pretty difficult to use.
First, I could only find my test app listed on their desktop site - even when using the same link they sent me on mobile.
But Clicking on the Continue button on desktop sent me to a page for Amazon Underground. There was no indication I had ordered the app or how to download.
So I downloaded Amazon Underground onto my Android device and it replaced the Amazon store app. I expected to now find the test app in the Amazon Underground app but I still could not see it there.
So, back on my desktop browser, I looked in My Orders and found it there. The instructions for manually installing it on your mobile device tell you to look for a menu item which doesn't seem to exist in the Amazon Underground. Menu->Library->My Apps. I could not find this menu item anywhere in the Underground app or the mobile site.
Instead, I found a workaround- I added my test app to my wishlist on desktop and then used the wishlist to locate the app in Underground.
Keep in mind that to add to the absurdity, this is NOT and Underground app, but the Underground app seems to be a new requirement these days.
Finally, I was able to install the app from the Underground app using my wishlist created on the desktop, only to find that despite selecting the newest binary in the Live App Testing site, the app that got installed was for an older version. I have yet to resolve this.
This is a HUGE pain in the ass- much worse than any of the hoops Apple makes you jump through. I am hoping that once the app is live on Amazon that the Google Play hosted binaries connect to it for the IAP, but I would not expect anyone to jump through these kind of hoops to download the app from Amazon.
Ok I got the Live App Test working finally with the new binary. I deleted the old binary in the Live App Test control panel and uploaded my new one again. That seemed to do the trick. I was able to install the new app and the IAP work without charging the user. For good measure, I made sure that the app was not using the local JSON file by renaming it. The purchase dialog is different and you can see there is some network latency, so it seems to be working. Now to see if my Google Play app will work with the Amazon IAPs...
Unfortunately, the Google Play hosted version does not work with the Amazon IAP nor with Game Circle yet. I am still hoping that once the app is live on Amazon, this will change.
The good news, however, is that the Amazon hosted version seems to be fully functional- both Game Circle and the IAPs seem to be working properly at first glance.
However, I am reticent to start sending beta testers to use that version since it is such a pain in the tuchas to download.
I found a somewhat decent tutorial on Amazon LAT here:
https://developer.amazon.com/public/community/post/Tx1RTXHY70JPGS5/Live-App-Testing-Service:-How-to-Start,-Test-and-Complete-a-Live-App-Test
The things to watch out for:
• You can upload multiple binaries per test but it is not clear how they are distributed to different devices. If you do, you will no longer see the version number listed with the app on the desktop site but a rather cryptic "Version: Varies by device"
• It takes a while for new tests to start and sometimes the tests use binaries from previous tests. To test m latest build, I found I had to create a new test, then delete previous binaries to get the newest ones to show up in the Amazon Underground app. And in order to delete those older binaries, you first have to click "Upload another Binary" from within the Binary File(s) tab of the test setup screen. Its totally un-intuitive.
• Google Play hosted apps do not appear to talk to the IAP or GameCircle servers.
• Speaking of Google, it seems you will sometimes get an error saying that Google IAB api is being used- even if you uncheck it on the publishing page on GameSalad.com.
• I found the quickest way to find your app once the test has started is to click the link in the email on a desktop site, then click "add to list" rather than "continue." Then open the Amazon Underground app and, making sure you are logged in as the same user that you assigned to the test, go to Your Lists.
Yes googleplay apps do not use Amazon services. I will book mark this thread and redo my amazon video with this updated info. Thanks for sharing!
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
@Lost_Oasis_Games I did a blog post about it that might save you a bit of headache.
http://agentargyle.com/amazon-live-app-testing-pain/
A tutorial video or just a better post than my rant with pictures would be great!