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.
In this section
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.
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.
amazon
in the name. If you use the same package name as another app, you will get an error when uploading the binary. The versionCode
must be unique as well (and not the same as the versionCode
in a previous binary you uploaded).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:
- If you haven't already uploaded your first APK, upload it by dragging the file into the Upload your app file box.
- Optionally give your APK a recognizable alias to distinguish it from the next APK you upload.
- 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.
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 mobile 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.
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.
Additional information
The Additional information fields are described here.
In this section
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:
- Click View public key.
-
In the Public Key dialog box that appears, click the AppstoreAuthenticationKey.pem link to download the PEM file.
- Copy the AppstoreAuthenticationKey.pem file.
-
Follow the instructions for your project type.
Android project instructions
- Paste the PEM file into the app/src/main/assets folder of your Android Studio project.
- 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
- In the Assets folder of your project, create a new folder named StreamingAssets.
- 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.
In this section
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.
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 mobile 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.
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.
Additional information
The Additional information fields are described here.
In this section
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:
- Click View public key.
-
In the Public Key dialog box that appears, click the AppstoreAuthenticationKey.pem link to download the PEM file.
- Copy the AppstoreAuthenticationKey.pem file.
-
Follow the instructions for your project type.
Android project instructions
- Paste the PEM file into the app/src/main/assets folder of your Android Studio project.
- 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
- In the Assets folder of your project, create a new folder named StreamingAssets.
- 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: Nov 05, 2024