Understanding Amazon Appstore Submission
This page explains the key concepts for publishing apps for Fire tablets and other Android-based devices to the Amazon Appstore.
- High-level review of submission prerequisites
- Overview of the app submission process
- General tips for successful app submission
- Preparing your binary file
- Specifying an installation location for your app
- About DRM (Digital Rights Management)
- Featured marketing placement
- Transferring your app to another vendor
High-level review of submission prerequisites
Publishing to the Amazon Appstore requires the following:
-
Amazon customer account: If you do not have an Amazon customer account, create one at Amazon.com.
-
Amazon developer account: If you do not have an Amazon developer account, go to the Amazon Apps & Games Developer Portal, and sign in with the same email address as your Amazon customer account. The portal will guide you through the account creation process.
-
An Android app that you want to publish to the Amazon Appstore: Each app that you submit must comply with Amazon's content policy. If Amazon determines that an app contains, facilitates, or promotes content prohibited by these guidelines, Amazon will reject the submission. For details, see Amazon Appstore Content Policy.
-
Image assets for product promotion. You must provide screenshots and large and small icons for promoting your app on the Amazon Appstore. You may optionally provide a promotional image and videos. For details, see Image Asset Guidelines.
-
Intellectual Property (IP) Documentation (if needed): If your app uses intellectual property (IP) from a third party, be prepared to submit documentation that you have obtained the proper license or permission to use that IP in your app.
Overview of the app submission process
The following high-level overview can help you understand the general process for submitting an app to the Amazon Appstore:
- Develop or Port: Develop your app from scratch or port an existing Android app for publishing in the Amazon Appstore. For details, see Port Existing Android App to Fire OS. Keep in mind the Amazon Appstore Content Policy as you design your app.
- Test: Make sure that your app meets the Test Criteria for Amazon Appstore Apps. You can also use one of Amazon's testing services to validate your app's functionality. For details, see App testing tools and services.
- Submit Your App: Sign in to your developer account, enter the appropriate information for your app's listing in the Amazon Appstore, and upload your app. For details, see Submitting Apps to the Amazon Appstore.
- Respond to any failure notifications (if needed): If your app fails any submission criteria, you will receive a notification that the app has been rejected. Fix your app as directed, and resubmit your app. For details, see Overview of the app approval process.
- Update your app (as needed): If you need to make changes to an app that has already gone live in the Amazon Appstore, see Update a Published App.
General tips for successful app submission
Use the following recommendations to make your publishing experience as smooth as possible.
Accounts and email communication
- Your Amazon customer account is tied to your Amazon developer account. Any changes you make to the sign-in credentials of your Amazon customer account are propagated to your Amazon developer account, and vice versa.
-
Amazon sends email to only the address associated with the account owner when corresponding with you about your app's status. When you set up a new Amazon developer account, you are the default account administrator and the designated owner for the account. You can add other people in other roles to the account, such as analyst, developer, or marketer. You can also add other administrators.
Although any developer or administrator can submit an app, Amazon sends correspondence to only the email address associated with the account owner. That means Amazon does not send messages to the email account associated with the person who submitted the app, unless it's the same as the account owner's email. To confirm the account owner email address, anyone with administrative permissions can go to Settings > User Permissions and review the Roles column. The account owner is indicated as "Administrator (owner)".
App preparation
- Version Name: In your
AndroidManifest.xml
file, use theandroid:versionName
attribute for version information to display to users. On the Amazon Appstore, theandroid:versionName
is required, can be any string, and must be fewer than 50 characters. - Version Number:
android:versionCode
must increase for each successive version of your app. As per the Android documentation on <manifest>, theandroid:versionCode
inAndroidManifest.xml
must be an integer whose value increases each time a new version of your app is released. If your app'sandroid:versionCode
does not follow this convention, customers will not receive the new version of your app. - Device filtering: In your
AndroidManifest.xml
file, specify which Android devices you are targeting with your app. For details, see Device Filtering and Compatibility.
Devices supporting only 64-bit apps
Some devices no longer support 32-bit apps, including any 32-bit apps currently available on Amazon Appstore. Customers attempting to download a 32-bit app on one of these devices will receive a notification alerting them that the app is not compatible with system requirements.
To make your app available to customers using one of these devices, add 64-bit (arm64-v8a) support to your app and submit an update using the Amazon Developer Console. Do not remove support for 32-bit (armeabi-v7a) while building your app, as it may impact current Amazon device selection.
Best practices for 64-bit file submission
The Amazon Appstore accepts hybrid 32-bit/64-bit binary file submissions for some Fire tablets (11th generation and above). This means to reach all Amazon devices, you should develop with 64-bit in mind. These two library folders must have the correct files:
- 32-bit folder: lib/armeabi-v7a/
- 64-bit folder: lib/arm64-v8a/
For every library in one folder, there must be a corresponding library in the other folder. If you have a 32-bit library in the 32-bit folder, but do not have that same library in 64-bit format in your 64-bit folder, your application may crash or freeze on a device, or have In-app Purchasing (IAP) failures.
If you upload a binary file that isn't 64-bit compliant, the Developer Console displays a warning.
Preparing your binary file
This section discusses Amazon's recommendations for creating the binary file that you will submit for your app.
Zip-aligning Your APK
This section applies only to APKs and not app bundles. When you generate your APK from Android Studio, your APK is aligned by default. (Alignment refers to optimization of the APK files.) However, if you're not using Android Studio to generate your APK, you might need to zip-align your APK before uploading the APK in the Developer Console. For details, see zipalign in the Android documentation.
If you submit an unaligned APK, the Developer Console will reject it, with a message saying, "The submitted APK does not appear to be zip-aligned. Please zip-align your APK and resubmit your application."
If you see this message, you can zip align your APK with Android Studio by running the following command:
[Android SDK location]/tools/zipalign -v 4 <Original.apk> <Aligned.apk>
(You can find your Android SDK location in Android Studio by going to Tools > SDK Manager. Then you would replace [Android SDK location]
with a path such as /Users/johndoe/Library/Android/sdk
.)
In addition to zip-aligning your APK, if you're using AndroidX library for multidexing, keep the AndroidX library unobfuscated in your code by adding this line to your Proguard file:
-keep class androidx/multidex.** { *; }
Amazon app signatures
When you submit your app, Amazon removes the signature you used to sign your app and re-signs it with an Amazon signature that is unique to you, does not change, and is the same for all apps in your account.
You can find the Amazon signature hashes for your account when you create an app in the Developer Console. The SHA-1, MD5, and SHA-256 hashes for your account are listed on the Upload Your App File screen when clicking Appstore Certificate Hashes. Hashes are not visible for live apps. To view hashes for a live app, you need to edit the app or create a new version.
Upon request, Amazon can also provide the hashes for the Public Key exponent, Public Key modulus, and the Facebook hash key for Login with Facebook.
Amazon's code wrapper
When you submit your Android binary file to the Amazon Appstore, Amazon adds a wrapper to your code that includes metadata and an application signature. This code has the following purposes:
- To collect analytics relating to the app
- To evaluate and enforce Amazon program policies
- To share aggregated information with you and others regarding the program
- To modify and add to your binary so Amazon can (at your option) enforce digital rights management (DRM)
- To add metadata to your binary so Amazon can improve your its compatibility with Amazon devices
App size limitations
Uploaded Android binary files (AAB or APK) can be up to 2.5GB in size. Amazon recommends that you deploy small apps that download and install quickly. Then, upon first launch, your app can download additional resources and save them on the users' local file system. Expansion files or Binary blobs (.obb) are not supported by the Amazon Appstore. If you're submitting an APK, you must do so without .obb files. Make sure your app installs external resources in the proper path after downloading them at runtime.
After Amazon's next publish cycle (about every 30 to 90 minutes), you should receive an email from Amazon indicating that your file was uploaded successfully. When you return to the Upload Your App File screen, you should see your file.
Screen resolutions
When creating your app, you should consider multiple screen sizes and resolutions. The primary screen size categories are:
- Small screen
- Normal screen
- Large screen
- Extra-large screen
For each screen size category, the device's display may be:
- Low density (120 dpi)
- Medium density (160 dpi)
- High density (240 dpi)
- Extra high density (320 dpi)
Designating apps as high density (HD)
To ensure that customers have a great HD experience on Fire tablets, your app must meet the following requirements to gain an "HD" designation in the title of your app:
- The app is designed for high-density screens (hdpi or xhdpi) and declares this support in the manifest
- The app’s drawables are optimized for high-density screens (images can be rendered at native resolution)
- The app uses the entirety of the screen (without letterboxing)
- Video content in the app (if applicable) must be at least 24 frames per second and 720p (in video-focused applications)
If you believe your app meets these requirements and should be identified as HD on the product detail page, include the notation "Please review for HD designation" in the Testing Instructions field when you submit your app. See the Testing Instructions section on the Review & Submit screen.
For information about making your app look good on Kindle Fire tablets, see Screen Layout and Resolution.
Specifying an installation location for your app
Your Android Manifest file specifies the installation location for your app on Fire TV and Fire tablet devices. For most apps, setting this value to External Storage (preferExternal
) will provide a better experience for your app's users. For more information, see the following:
- Specifying Your App's Installation Location (Fire Tablets)
- Specifying Your App's Installation Location (Fire TV).
About DRM (Digital Rights Management)
If submitting an Android APK or app bundle, you can enable DRM in your app by using the DRM API from Amazon's Appstore SDK. For more information, see DRM Overview. If your app doesn't use the Appstore SDK, this section explains your options for adding automatically-applied Amazon DRM.
When your app starts on a Fire device, it communicates with the Amazon Appstore client to determine whether the current user is entitled to use your app. In the Allow Amazon to Apply DRM? field on the Upload Your App File screen, if you select Yes, Amazon DRM is automatically applied, and your app runs only if the signed-in user has an entitlement to your app. If you select No, Amazon doesn't automatically apply DRM and the app runs no matter who is signed in.
Regardless of whether you choose to apply Amazon DRM, Amazon wraps your app with code that enables the app to communicate with the Amazon Appstore client to collect analytics, evaluate and enforce program policies, and share aggregated information with you. Your app always communicates with the Amazon Appstore client when it starts, even if you choose not to apply DRM.
Automatically-applied DRM is not tied to the key you used to sign your app. Amazon removes your signature and re-signs your app with an Amazon signature that is unique to you, does not change, and is the same for all apps in your account.
Providing documentation for IP use
If your app uses the IP of a third party, you will need to provide documentation of your license or IP rights to Amazon in order to list your app with the Amazon Appstore. This documentation must be either a confirmation letter from the IP rights holder with a formal signature or a copy of the applicable license agreement. Amazon will contact you during the app submission process to provide this documentation in a way that associates it with your app.
Screenshots of license agreements are not considered valid documentation for this requirement. Provide your documentation to Amazon in the form of a PDF file.
Featured marketing placement
Amazon highlights apps through the Amazon Appstore, Fire tablets, Amazon.com, and through marketing vehicles such as email, Facebook, and Twitter. Examples of featured placements include "Highly Rated Apps and Games" and "Featured New Releases." Your app might be considered for these placements. Your app might also be considered for seasonal placements, such as summer travel, back to school, or holiday apps.
For Amazon-approved marketing assets and brand, trademark, and marketing guidelines, see Trademark, Brand, and Marketing Guidelines.
Transferring your app to another vendor
If a situation arises (such as a company merger or spin-off) where you need to transfer one of your published apps to another developer account, you can do so with the help of Amazon support. See Contact Us.
Last updated: Dec 04, 2024