Understanding Amazon Appstore Submission
Amazon's goal is to make app submission for Android apps simple and easy. Most of the time, your Android app should just work on Amazon Fire devices without modifications. 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 the APK File for Your App
- 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. See Amazon Appstore Content Policy Requirements.
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. 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 Migrate: Develop your app from scratch or migrate an existing Android app for publishing in the Amazon Appstore. (See Migrating an Existing App to the Amazon Appstore.) Keep in in mind the Amazon Appstore Content Policy Requirements 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. See Testing Your App for the Amazon Appstore.
- Submit Your App: Login to your developer account, enter the appropriate information for your app's listing in the Amazon Appstore, and upload your app. 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. See Viewing App Submission Status.
- Update your app (as needed): If you need to make changes to an app that has already gone live in the Amazon Appstore, see Updating 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 will only send email to the address listed in the company profile when corresponding with you about your app's status. When you set up a new Amazon Apps & Games Developer Portal account, you are the default account administrator. 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 will send correspondence only to the email address in the company profile. Amazon will not send messages to the email account associated with the person who submitted the app, unless that person's email address is the email address in the company profile. To see which email address is listed, an account with administrator permissions can check the Company Profile on the Settings tab.
- Version Name: In your
AndroidManifest.xmlfile, use the
android:versionNameattribute for version information to display to users. On the Amazon Appstore, the
android:versionNameis required, can be any string, and must be fewer than 50 characters.
- Version Number:
android:versionCodemust increase for each successive version of your app. As per the Android documentation on <manifest>, the
AndroidManifest.xmlmust be an integer whose value increases each time a new version of your app is released. If your app's
android:versionCodedoes not follow this convention, customers will not receive the new version of your app.
- Device filtering: In your
AndroidManifest.xmlfile, specify which Android devices you are targeting with your app. See Device Filtering and Compatibility.
- Package Name: For apps submitted to Amazon Underground, the package name of each app that you submit to Amazon must be different from the package name used in any other app in any other app store.
Preparing the APK File for Your App
This section discusses Amazon's recommendations for creating the APK file that you will submit for your app.
"Unaligned" vs. "Aligned" Apps
The default convention when you generate your APK is usually an "unaligned" file (vs. an "aligned" file that can take extra steps). Just upload the "unaligned" version of your file and do not go through the process to create an "aligned" file.
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 by selecting any application in the developer console and navigating to the Binary File(s) tab. The SHA-1, MD5, and SHA-256 hashes for your account are listed in the Appstore Certificate Hashes section. Upon request, Amazon can also provide the hashes for the Public Key exponent, Public Key modulus, and Facebook.
Amazon's Code Wrapper
When you submit your APK to the Amazon Appstore, Amazon adds a wrapper to your code that includes metadata and an application signature. Amazon wraps your binary with code for the following purposes:
- To collect analytics relating to the app
- To evaluate and enforce our program policies
- To share aggregated information with you and others regarding the program
- To modify and add to your app so we can (at your option) enforce digital rights management (DRM)
- To add metadata to your app so we can improve their compatibility with Amazon devices
APK Size Limitations
Amazon Appstore does not enforce an upper limit on app submissions by using the FTP server. In practice, however, APK files larger than 100MB are problematic from both the ingestion and delivery perspectives. Amazon recommends that you deploy a smaller APK that downloads and installs quickly, and then upon first launch downloads additional resources and saves them on a local file system. Binary blobs (.obb) are not supported by the Amazon Appstore, so it is up to the developer to install external resources in the proper path after downloading them at runtime, and to submit an APK compiled without .obb files.
If your APK is larger than 150MB, you will be directed to use the SFTP server instead of uploading directly via the Developer Portal. If this is your first time using SFTP, you must request a new SFTP login. For instructions and credentials, in the Portal click the name of your app, and then select the Binary File(s) tab. Then click the SFTP instructions and naming convention link, which will take you to instructions, file naming formats, and your SFTP server and credentials.
Pay close attention to the names of the files that you upload via FTP. You must follow the naming conventions exactly in order for Amazon's system to recognize your files. For guidance on file names, on the SFTP instructions and naming convention page, click Learn more about SFTP asset naming convention (or go directly here).
Use your FTP client to upload your files with the given credentials. Before uploading, confirm that you have renamed any assets larger than 150MB per the instructions on the page.
After Amazon's next publish cycle (about every 30 to 90 minutes), you should receive an email from Amazon indicating that your binary was uploaded successfully. When you return to the Binary File(s) tab, you should see your file.
Note that Amazon Appstore does not allow you to use expansion files for large APKs.
When creating the APK for 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 when uploading APK files or webapps
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 Specifying the Installation Location for Your App.
About DRM (Digital Rights Management)
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 "Apply Amazon DRM?" field, if you select Yes (Recommended), the Amazon DRM is enabled, and your app will only run if the signed in user has an entitlement to your app. If you select No, DRM is not enabled and the app will run 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 will always communicate with the Amazon Appstore client when it starts, even if you choose not to apply DRM.
The Amazon 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.
Amazon-approved marketing assets and brand, trademark, and marketing guidelines are here: Trademarks and Badges.
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. Note that unless absolutely necessary, Amazon strongly discourages developers from transferring apps to different developer accounts.
To learn more about transferring your app, see How do I transfer an App from One Developer Account to another?.