Developer Console

Step 1: Upload Your App File

On the Upload Your App File screen, upload your app files, add app details, and add customer support information. This screen is divided into four parts: App file(s), App details, Customer support contact, and Additional information.

The following sections describe the fields contained in each part of the screen.

Select Android or Web App in the drop-down menu based on the type of app you're submitting.

    App files

    The App File(s) fields are described here. For information about preparing your Android binary file , see Preparing Your Binary File.

    Upload your app file

    To upload your app file, drag an Android App Bundle (AAB) or an APK file to the box, or click the box and choose your file. If you plan to submit an APK and you didn't use Android Studio to build your signed APK, you might need to zipalign your file.

    The App Files section has a blue box with the text 'Upload your app file'. Clickable text 'Appstore certificate hashes' appears in the upper-right corner. One file has been uploaded. The options Edit name, Manifest, Replace, Delete, and Download appear in the box of the uploaded file.
    App Files section

    You can upload multiple binary files by dropping one file at a time into the box. When you add a binary file, you can see its details by clicking Manifest. The version code, version name, file size, package name, minimum SDK version, features, libraries, permissions, localizations, supported screens, compatible screens, OpenGL details, and native platforms are shown. These details determine which devices are supported by your binary file. For details on filtering, see Device Filtering and Compatibility.

    After you upload a binary, the file receives an alias, for example, "APK1". You can rename the alias as desired. The custom alias is used internally and not seen by customers. For more details related to binary files, see Preparing Your Binary File.

    Update an existing app

    If you're updating an existing app, see Update a Published App. When you make the update, you have the option of replacing the existing binary file and retaining the same device support selections, or removing the previous binary file and re-selecting your device support details.

    Add multiple APKs for the same app

    The Amazon Appstore supports uploading multiple APKs. More conceptual details are explained in Multiple APKs for the same application listing.

    When uploading multiple APKs, make sure each file has the same package name in the manifest; however, each individual APK should have a unique versionCode in your Gradle build file.

    To upload multiple APKs:

    1. If you haven't already uploaded your first APK, upload it by dragging the file into the Upload your app file box.
    2. Optionally give your APK a recognizable alias to distinguish it from the next APK you upload.
    3. Drag another APK into the Upload your app file box. Optionally, change the alias for the new file you upload to distinguish it from the first file.

    You can add a maximum of 15 files.

    Upload app bundles

    You can submit Android App Bundle  files to the Amazon Appstore, without the need to create separate APKs. The Appstore uses bundletool (version 1.11) to convert the app bundle files into optimized APKs that can be downloaded and installed across client devices. The size of the APK file that a customer installs is optimized for their device configuration.

    For details on how to create, test, and submit app bundles, see App Bundles.

    Appstore certificate hashes

    In the upper-right corner of the App Files section, you can view your Appstore certificate hashes. Certificate information includes the SHA-1, MD5, and SHA-256 hashes. As part of the ingestion process, Amazon removes your developer signature and applies an Amazon signature. This signature is unique to you, does not change, and is the same for all apps in your account. For more details, see Amazon App Signatures.

    Conditional fields

    During the app submission process, some fields only appear under certain conditions. Here, learn about those fields contained in the App File(s) section, and the conditions under which they appear.

    Apply Amazon DRM?

    DRM (digital rights management) protects your app from unauthorized use. Without DRM, your app can be used without restrictions by any user.

    This field appears if your app isn't using the Appstore SDK. If your app uses the Appstore SDK, you won't see this option. To add DRM with the Appstore SDK, use the DRM API included in the SDK. For more information, see DRM Overview.

    If your app isn't using the Appstore SDK, Amazon can automatically add DRM functionality to your app. Select Yes to allow Amazon to add DRM to your app. Select No if you do not want Amazon to add DRM to your app.

    If you have multiple binary files, select a DRM setting for each binary. If you have previously uploaded binary files and are adding a new binary with different DRM settings, you must replace the previous binary files if you want them to receive the updated DRM settings. Otherwise, your previous binary files retain the same DRM settings as before. For more information about automatically-applied Amazon DRM, see About DRM.

    Release notes

    This field appears only if you are submitting a new version of an existing app. Describe the changes you've made in this update. On your app's Appstore details page, release notes appear in the Latest updates section. On Fire TV devices, users (who have installed the app) see the release notes in the Notifications section in settings. On Fire tablets, users see the updates in the notifications pull-down menu at the top.

    If you previously published an updated version of your app and entered release notes, an option to Copy release notes from the previous app version for all languages will be available to you. Select this option to populate the field with the release notes from the previous version of your app.

    Troubleshoot common errors

    This section provides troubleshooting information related to binary file submissions.

    Error: Duplicate package name

    When uploading a binary file, you see one of the following errors:

    Failed to upload APK. The package name of the uploaded APK, com.amazon.android.yourapp, is already in use by an app owned by a different developer. Please contact us for more information.

    Failed to upload App Bundle. The package name of the uploaded bundle, com.amazon.android.yourapp, is already in use by an app owned by a different developer. Please contact us for more information.

    First, check to make sure that you have not uploaded this binary file on another Amazon developer account as either an app submission or Live App Test. If you haven't uploaded this same file under another account, submit a support case reporting the issue and noting the package name. To submit a support case, sign in to the Developer Console, click the ? in the upper-right corner, and click Contact Us.

    When using development environments such as Unity or pre-existing manifest files, it's possible that your app's package name will have a placeholder value that should be changed prior to submission. The package name of your binary file must be unique to the app you are publishing and is usually in the format of com.companyname.appname.

    If you have an association with a developer or publishing company that might have uploaded your app for Live App Testing, contact your development partner to confirm that they have not submitted your binary file on their account. If they have, ask them to end the current Live App Test. Then contact Amazon with the package name to resolve the issue.

    App bundle-specific errors

    When uploading an app bundle file, you might see a message that the app bundle failed to upload. Use the following troubleshooting instructions to help resolve these issues.

    Error message:

    Failed to upload App Bundle. The submitted bundle file is invalid. Please upload a valid bundle.

    If you see this message, the Developer Console was unable to parse the Android App Bundle file successfully. The bundle might be malformed. Before you upload, use the validate command of bundletool to verify that the AAB file is correctly formed. Here is a usage example of the command:

    bundletool validate --bundle=/path/to/bundle.aab
    

    Error message:

    Failed to upload App Bundle. Verify the bundle contains only install-time asset packs and try again.

    The Developer Console can't parse Android App Bundle files that have asset packs that aren't install-time. If you see this message, verify that your app contains only install-time asset packs. If your app contains asset packs that aren't install-time, convert them to install-time asset packs before you upload.

    ↑ Back to top

    App details

    The App details fields are described here.

    App title

    In this field, add a title for your app, used only in the Developer Console. To define the title users see in the Appstore and on devices, go to the Appstore Details screen, add a Display title.

    App SKU

    Add the app Stock Keeping Unit string in this field. The SKU is a string unique (which you define based on your choosing) for your app. For example: com.amazon.example.myapp.v1=. The SKU becomes the ID for your app for your own tracking purposes. Amazon does not require or use the app SKU. However, adding a unique identifier can help you keep track of multiple versions of your app. SKUs are case-sensitive and have a max length of 150 characters. They can contain the characters a-z, A-Z, 0-9, underscores, periods, and dashes.

    App category

    Here, select a category for your app based on your best judgment. Categories are used primarily for setting up the Amazon Appstore browse tree and for grouping together the Similar, Related, and Recommended app suggestions for users. The top-level categories are the same across Fire tablets, Fire TV, and non-Amazon Android devices, though some subcategories might not be available for Fire TV apps. If you don't see an obvious category for your app, choose the closest fit.

    Language support

    Select at least one language supported by your app file. The default is English. Your selection here appears in the Appstore on the app detail page, shown as Languages Supported. This field lets users know which language is available in your app.

    The language support selection here doesn't influence whether your app becomes available in localized Appstore marketplaces. Any localization interfaces in your app file must be handled by your app itself, not through settings in the Appstore submission process. However, if you do have a localized app file, you can add localized descriptions and image assets during app submission. The descriptions, image assets, and language support options selected all contribute to your app detail page in the Amazon Appstore. For more details on localization, see Distribute Your App Internationally.

    ↑ Back to top

    Customer support contact

    These fields contain your default support information, found under Settings > Company Profile in the Developer Console. The following table describes the fields in the Customer support contact section.

    Customer support contact fields 
    Field Description
    Customer support email address 

    An email address where customers can contact you.

    Customer support phone 

    A phone number where customers can contact you.

    Customer support website 

    The URL for your app’s support website.

    ↑ Back to top

    Additional information

    The Additional information fields are described here.

    App ID and Release ID

    An app ID uniquely identifies your app and a release ID uniquely identifies a version of your app. These are generated after you create an app through the Developer Console. The app ID allows you to manage your app information programmatically through the App Submission API.

    Public key and PEM file

    A public key, which is unique per app, establishes a secure communication channel between the Amazon Appstore and your app. When you generate the public key from the Developer Console, Amazon generates a corresponding private key. These public and private keys form a key pair to sign license responses. Through this key pairing, you ensure that the users who install your app are authorized.

    The public key is stored in a PEM file. If your app uses the Appstore SDK or the Appstore SDK plugin for Unity for In-App Purchasing (IAP) or DRM, you must add the PEM file to your project. To configure your app with the public key:

    1. Click View public key.
    2. In the Public Key dialog box that appears, click the AppstoreAuthenticationKey.pem link to download the PEM file.

      The Public Key window showing a public key string. A download icon followed by the link text 'AppstoreAuthenticationKey.pem' is shown.
      PEM file download link
    3. Copy the AppstoreAuthenticationKey.pem file.
    4. Follow the instructions for your project type.

      Android project instructions

      1. Paste the PEM file into the app/src/main/assets folder of your Android Studio project.
      2. In project view, the assets folder is usually in app/src/main/assets. If your app doesn't have an assets folder, you must create one. Then drag your PEM file into it.

      Unity project instructions

      1. In the Assets folder of your project, create a new folder named StreamingAssets.
      2. Paste the PEM file in your Assets/StreamingAssets folder.

    For more details, see Configure Appstore SDK with your public key or Configure Unity App with Public Key.

    Next steps

    Go to the next step: Step 2: Target Your App.

      App files

      The App File(s) fields are described here.

      Apply Amazon DRM

      DRM (digital rights management) protects your app from unauthorized use. Without DRM, your app can be used without restrictions by any user.

      For each app that you submit to Amazon, you can choose to apply DRM or to make your app available without any rights management constraints. If you choose to apply DRM to one of your apps, you must use the DRM system provided by Amazon through the Developer Console. For more details, see About DRM.

      Select the type of web app you want to submit

      In this field, choose from the following options.

      Zip Archive. Select this option if you are submitting a packaged app. A packaged app is a client-side web standards-based app whose assets are bundled together in a ZIP archive for distribution. Packaged apps are best for standalone games and apps that do not use a server. When you select Zip Archive, the following field appears.

      • Zip Archive: Upload the ZIP file in this field.

      URL. Select this option if you are submitting a hosted app. A hosted app is an app whose assets are hosted on your own web server. Clients connect to the host and download the app's assets to their device before being able to run the app. When you select URL, the following field appears.

      • Web App URL: In this field, list the URL where your app is hosted.

      Web app features

      If your app uses one or more features that need customer permission, select the appropriate checkbox during the submission flow. If your app requires any customer permission (such as In-App Purchasing or user login), you must configure the associated page to use SSL. The following list specifies the features that require permissions:

      • Amazon Advertising: Used for retrieving the advertising ID and ad tracking preference. For more details, see Retrieving the Advertising ID and Ad Tracking Preference for Fire TV or Fire tablets.
      • Device Details: Allows the web app to read device details.
      • Geolocation: Allows the web app to use location features.
      • In-App Purchasing: Allows the web app to use Amazon's In-App Purchasing API.
      • Prevent Sleep for Video Playback: Prevents sleep mode from initiating during video playback.
      • Storage: Allows the web app to read and write from external storage.

      Fire phone options are deprecated.

      In order to protect customers, we require that you serve your web app using SSL if your app uses In-App Purchasing or requires authentication. For more information, see Protect Your Web App.

      Conditional fields

      During the app submission process, some fields only appear under certain conditions. Here, learn about those fields contained in the App File(s) section, and the conditions under which they appear.

      Release notes

      This field appears only if you are submitting a new version of an existing app. Describe the changes you've made in this update. On your app's Appstore details page, release notes appear in the Latest updates section. On Fire TV devices, users (who have installed the app) see the release notes in the Notifications section in settings. On Fire tablets, users see the updates in the notifications pull-down menu at the top.

      If you previously published an updated version of your app and entered release notes, an option to Copy release notes from the previous app version for all languages will be available to you. Select this option to populate the field with the release notes from the previous version of your app.

      ↑ Back to top

      App details

      The App details fields are described here.

      In this section

      App title

      In this field, add a title for your app, used only in the Developer Console. To define the title users see in the Appstore and on devices, go to the Appstore Details screen, add a Display title.

      App SKU

      Add the app Stock Keeping Unit string in this field. The SKU is a string unique (which you define based on your choosing) for your app. For example: com.amazon.example.myapp.v1=. The SKU becomes the ID for your app for your own tracking purposes. Amazon does not require or use the app SKU. However, adding a unique identifier can help you keep track of multiple versions of your app. SKUs are case-sensitive and have a max length of 150 characters. They can contain the characters a-z, A-Z, 0-9, underscores, periods, and dashes.

      App category

      Here, select a category for your app based on your best judgment. Categories are used primarily for setting up the Amazon Appstore browse tree and for grouping together the Similar, Related, and Recommended app suggestions for users. The top-level categories are the same across Fire tablets, Fire TV, and non-Amazon Android devices, though some subcategories might not be available for Fire TV apps. If you don't see an obvious category for your app, choose the closest fit.

      ↑ Back to top

      Customer support contact

      These fields contain your default support information, found under Settings > Company Profile in the Developer Console. The following table describes the fields in the Customer support contact section.

      Customer support contact fields 
      Field Description
      Customer support email address 

      An email address where customers can contact you.

      Customer support phone 

      A phone number where customers can contact you.

      Customer support website 

      The URL for your app’s support website.

      ↑ Back to top

      Additional information

      The Additional information fields are described here.

      App ID and Release ID

      An app ID uniquely identifies your app and a release ID uniquely identifies a version of your app. These are generated after you create an app through the Developer Console. The app ID allows you to manage your app information programmatically through the App Submission API.

      Public key and PEM file

      A public key, which is unique per app, establishes a secure communication channel between the Amazon Appstore and your app. When you generate the public key from the Developer Console, Amazon generates a corresponding private key. These public and private keys form a key pair to sign license responses. Through this key pairing, you ensure that the users who install your app are authorized.

      The public key is stored in a PEM file. If your app uses the Appstore SDK or the Appstore SDK plugin for Unity for In-App Purchasing (IAP) or DRM, you must add the PEM file to your project. To configure your app with the public key:

      1. Click View public key.
      2. In the Public Key dialog box that appears, click the AppstoreAuthenticationKey.pem link to download the PEM file.

        The Public Key window showing a public key string. A download icon followed by the link text 'AppstoreAuthenticationKey.pem' is shown.
        PEM file download link
      3. Copy the AppstoreAuthenticationKey.pem file.
      4. Follow the instructions for your project type.

        Android project instructions

        1. Paste the PEM file into the app/src/main/assets folder of your Android Studio project.
        2. In project view, the assets folder is usually in app/src/main/assets. If your app doesn't have an assets folder, you must create one. Then drag your PEM file into it.

        Unity project instructions

        1. In the Assets folder of your project, create a new folder named StreamingAssets.
        2. Paste the PEM file in your Assets/StreamingAssets folder.

      For more details, see Configure Appstore SDK with your public key or Configure Unity App with Public Key.

      Next steps

      Go to the next step: Step 2: Target Your App.


      Last updated: Mar 28, 2024