question

Kevin@Amazon avatar image
Kevin@Amazon asked

Submitting Your Fire Phone App – Best Practices

Creating an app that is optimized for many different devices, Fire Phone/Fire Tablets/FireTV/non-Amazon devices for example, can be done in several different ways. We encourage developers to create the best possible solution for your customers by creating a single app entitlement that the user can utilize across all their Amazon supported devices. Options include: - Single ASIN** / Single Binary: With this option you are identifying the device the app is installed on with something like android.os.Build.MODEL and branching based on the resulting return code. +pro’s: submission process slightly easier, simple feature detection easy to implement -con’s: code maintenance, future proofing -Single ASIN / Multiple Binaries: With this option you are submitting multiple APK’s under the same ASIN, these can be any binaries you want as long as they all have the same package and version names (only the version codes are changed). +pros: easy support for wide range of devices – more complex apps incorporating Fire Phone SDK for example, easier maintenance, easy to add/remove support for devices in the future, ensures a seamless end user experience -con’s: currently only one set of metadata allowed per ASIN, updates require the submission of all binaries for any apk update. -Multiple ASIN’s / Single Binary: With this option you are creating an entirely new app for each version of your APK in the Appstore. +pros: allows for separate metadata and pricing for each ASIN, -con’s: from and end user perspective limits what devices they can search for and run your app on, significantly cutting into app sales. Updates, tracking become issues. **Your app ASIN is your unique identifier found on your apps Product Detail Page in the store. For the Fire Phone, the preferred solution is to generate different binaries for Fire Phone, FireTV and Fire Tablets, etc. and use Device Targeting for your app submission. Device Targeting is fairly straightforward and done by following these steps: 1. Create your first binary--let's call it Binary1. Edit the Binary1 manifest.xml file making sure that it will conform to Android device naming conventions. Let’s use a version name of {2.0} and a version code of {1}. *Your version name and package name stay the same for all your new binary(s). 2. In this example Binary1 is going to target Fire Tablets and Binary 2 will target Fire Phone. Note that you can create up to 10 Binary aliases. 3. Create your second binary--let’s call it Binary2. Edit your Binary2 manifest.xml file so that it will conform to Android device naming conventions. – this is done in your apps manifest.xml file. Let’s use a version name of {2.0} and a version code of {2}, your version name and package name stay the same. ****Make sure that your version names for Binary1 and Binary2 are the same, and that your version codes for Binary1 and Binary2 are different**** 4. Binary2 is your Fire Phone APK {example_fire_phone.apk, 2.0, 2}. This will be submitted along with Binary1 later in the process. 5. You now have everything ready to submit your new app version to the Distribution Portal for testing. Sign into the Distribution Portal. Go to My Apps > Select your app > Select “Add Upcoming Version” > Select the Binary file(s) tab 6. Fill out the fields for your Binary1 version. You will note that the default “alias” for the first binary is Binary1. This is your Fire Tablet APK in this example. Make sure to select only the devices being supported with this version (Lets choose all Fire tablets for example). Upload Binary1. Select “Save and Add a Binary” 7. Fill out the fields for your new version. You will note that the default “alias” for the next binary is Binary2. This is your Fire Phone APK in this example. Make sure to select only the Fire Phone with this version. You should note that the server will automatically fill in any devices that are not yet supported in the “Device Support” section. This is a good check to make sure you have addressed all available devices and everything has been accounted for. 8. Quick check: If this is an existing Amazon app, make sure you are targeting at least the same set of devices as you did with your original version. For example, if you were supporting Kindle Fire (1st Generation), Kindle Fire, and Kindle Fire HD before, ensure that between Binary1 and Binary2 you are still supporting Kindle Fire (1st Generation), Kindle Fire, and Kindle Fire HD. 9. Fill out the remaining tabs, “Save” and then “Submit App” for testing. You can find a brief overview of device targeting use in the Distribution Portal on our blog here (note that is an older post and does not cover all of our devices, but the process is still the same): https://developer.amazon.com/post/Tx2IQ6FUR1ASHFK/How-To-Use-Amazon-span-class-matches-Device-span-span-class-matches-Targeting-sp.html
submission testing distributionfire phone
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Harshvardhan Trivedi avatar image
Harshvardhan Trivedi answered
Hey Kevin, when we test firephone apk in emulators that time we change menifest to test the apk right. so when we submit the apk do we need to change menifest? Right now my menifest launcher activity is this. so when we submit app to publish that time we need to remove this code or not because i submitted this app and i got mail like that it wont open in fire phone. so please help. Thanks in Advance.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Kevin@Amazon avatar image
Kevin@Amazon answered
Great question Harshvardhantrivedi, you just need to remove the tag and replace it with the tag before recompiling your app, although I do not see this in what you have posted here. You would have needed that to run the Fire Phone SDK features. For example in your application tag: *becomes* You should leave AmazonSupport.jar in place and should not further modify AndroidManifest.xml. This is to minimize the number of changes made post-testing to reduce the likelihood of introducing a bug. Your app will still call on code in AmazonSupport.jar, but when it is running on Fire, it does nothing and simply launches your app's main activity.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Harshvardhan Trivedi avatar image
Harshvardhan Trivedi answered
Thank You Kevin. So i keep amazonsupport.jar file in my project when submit my app to amazon or not? and right now my launcher activity is this. so i need to remove and simply change to my project activity or should i keep this? And thank you for very excellent support.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Harshvardhan Trivedi avatar image
Harshvardhan Trivedi answered
Hi Kevin, One more question that i have an issue when submitting the app to the amazon. i have a two apk one for fire phone and other for kindle device. so i upload one binary for fire phone successfully but after that i upload second binary for kindle device. it gave error that HIGHER MINIMUM API LEVEL NEED HIGHER VERSION CODE. this is my second attempt i already uploaded that time i gave fire phone apk to version code 1.0 and kindle apk to 2 that it works. but both app rejected and i solve that issue and Resubmitting for fire phone and kindle. so now when i upload these apk but fire phone apk uploaded without any problem but i can' t upload kindle apk. it throws above error. And yes both apk below 30 mb. Waiting for your kind reply. Thank you.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Kevin@Amazon avatar image
Kevin@Amazon answered
Hi Harshvardhan, I think we can help you best if you open a 'Contact Us' case at this point. This is faster and easier for everyone, it gives us access to you account, files, etc. Just go to: https://developer.amazon.com/help/contactus.html Feel free to add this Forum post link if you like for reference on the ticket.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.