Home > Support > Submitting Your Apps

Understanding Amazon Appstore Submission

Introduction

This page explains the key concepts for publishing apps for Fire tablets and other Android-based devices to the Amazon Appstore. For an overview to the submission process, see the following video:

High-Level Review of 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 for Appstore Submission.

  • 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

App Preparation

  • Version Name: In your AndroidManifest.xml file, use the android:versionName attribute for version information to display to users. On the Amazon Appstore, the android: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>, the android:versionCode in AndroidManifest.xml must be an integer whose value increases each time a new version of your app is released. If your app’s android:versionCode does not follow this convention, customers will not receive the new version of your app.
  • Device Targeting: In your AndroidManifest.xml file, specify which Android devices you are targeting with your app. See Targeting Amazon Devices with Your Android Manifest.
  • 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.

Creating 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.

Screen Resolutions

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 Upload APK Files.

For information about making your app look good on Kindle Fire tablets, see Screen Layout and Resolution.

APK Size Limitations

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. On this tab, select the SFTP instructions and naming convention link, which will take you to instructions, file naming formats, and your SFTP server and credentials.

The 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.

You can use the steps for setting up a new FTP login to retrieve an existing FTP login. On the Binary File(s) tab, in the Binary file* section, select the SFTP instructions and naming convention link to view the instructions.

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.

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.

Amazon’s Code Wrapper

When you submit your APK to the Amazon Appstore, Amazon will add a wrapper to your code that includes metadata and an application signature

Amazon-added Metadata

Amazon wraps your binary with code for the following purposes:

  • To collect analytics relating to the Apps
  • To evaluate and enforce our program policies
  • To share aggregated information with you and others regarding the program
  • To modify and add to your Mobile Apps so we can (at your option) enforce digital rights management (“DRM”)
  • To add metadata to your Mobile Apps so we can improve their compatibility with Amazon devices

To ensure that all your app’s functionality is retained when you submit your app, test the exact version you intend to submit with Live App Testing before submitting the app.

About Amazon App Signatures

Note that 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 and MD5 hashes for your account are listed in the Appstore Certificate Hashes section.

Amazon can provide the following hashes for you on request:

  • MD5:
  • SHA1:
  • SHA256:
  • Public Key exponent:
  • Public Key modulus:
  • Facebook hash:

To request these hashes, please use Contact Us.

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?.