Hello, We developed a Kindle Fire ONLY version for our app, which we continue to update on Amazon Appstore. Now we also want to publish an Amazon Appstore version (eg. for non-Amazon Android devices which have Amazon Appstore installed). Questions: - can we make an update to the existing (already published) app, and add 2 binaries: one which targets Kindle Fire devices only, and another binary which targets non-Amazon devices only? - given the original (published) app package name - [b]com.example.app[/b], can the 2nd binary (non-Amazon version) have a different package name (eg. [b]com.example.app.[i]amazon[/i][/b])?
Hi Monocube, Thank you for your post. Below are the answers for your queries. 1. Yes. You have to submit new version of your app with multi-binary support. 2. No. App store identifies the app with the package name. For a multibanry app the package name has to be maintained for all the binaries. Here is the additional information about multi-binary: This feature enables you to take a single app and target specific APKs to specific Amazon devices, as well as target a single, general APK that covers all other non-Amazon Android devices. If you would like to take advantage of the Device Targeting feature by building new APKs for the Fire HD and new Fire, you will still need to upload an appropriate APK for the Fire (1st Generation) and non-Amazon Android devices. If you only add APKs (binaries) for the new Amazon devices to your app update, you will no longer be supporting the other device types for your app—customers on Fire (1st Generation) and non-Amazon android devices will not be able to download your app in the store. Please be sure your updated APKs target all device types. You may use any combination of APKs to target any combination of device types. Example: 4 APKs for 4 device types (Kindle Fire, Fire HD, Original Fire, general android) 3 APKs for 4 device types 2 APKs for 4 device types 1 APK for 4 device types 1 APK for 2 device types Ect… Device Targeting currently allows for up to 4 individual APKs that can target non-Amazon Android devices, Original Fire, Fire, and Fire HD 7”. We will soon add the capability to add a 5th APK for Fire HD 8.9”. Please be mindful of versionCode and versionName requirements when building your APKs:
https://developer.amazon.com/help/faq.html#DeviceTargeting VersionName must be the same for each APK within an instance of an app (format of X.X.X where X is an integer). VersionCode must be different for each APK within an instance of an app (format of X where X is an integer). It will help your tracking if you increment your versionCode when submitting an app update, but you may use the same X as a previous versionCode if you desire. Ex: Manifest snippet: manifest xmlns:android="
http://schemas.android.com/apk/res/android" package="com.amazon.sample.buttonclicker" android:versionCode="100" android:versionName="1.0.0" uses-sdk android:minSdkVersion="10" / APK Naming Best Practices as per d.android: An APK that requires a higher API level must usually have a higher version code. For example, if you create two APKs to support different API levels, the APK for the higher API levels must have the higher version code. This ensures that if a device receives a system update that then qualifies it to install the APK for higher API levels, the user receives a notification to update the app. You should also consider how the order of version codes might affect which APK your users receive either due to overlap between coverage of different APKs or future changes you might make to your APKs. For example, if you have different APKs based on screen size, such as one for small - normal and one for large - xlarge, but foresee a time when you will change the APKs to be one for small and one for normal - xlarge, then you should make the version code for the large - xlarge APK be higher. That way, a normal size device will receive the appropriate update when you make the change, because the version code increases from the existing APK to the new APK that now supports the device.