Developing for the Kindle Fire is fundamentally the same as developing Android proper. The Kindle Fire HDs run on ICS, and the original model runs on Gingerbread. I was hoping the Kindle Fire HD was a Jelly Bean tablet when it was first announced, but it’s not. This isn’t a reason to avoid the platform altogether — there are plenty of good reasons to develop or port your apps to the Fire.
Amazon provides a detailed introduction to development for the device. There are few differences between building apps for the devices, and those are mainly about Kindle-specific features such as GameCircle and in-app payment processing.
Kindle Fire targeting begins at the Android API level. The new HD runs on Android API level 15. The original model uses API level 10. Using Amazon’s device targeting API, you can define which device will be allowed to download and run your app. The Amazon App Store has the ability to limit purchases and downloads based on your device’s specifications. This kind of targeting is new in Fire development. It was introduced to reduce consumer confusion and enable developers to build once for multiple platforms. An added bonus is a consolidated app review page and higher search rankings.
In-App Payment Processing
This is an obvious difference. In-app payments and subscriptions take advantage of the Amazon payment system. The company provides a handy, easy-to-follow guide for migrating in-app payment processing from Google Play. You end up with two versions of your app, one for Amazon’s app marketplace and another for Google’s store.
The support docs describe GameCircle as “a set of services built into the Kindle Fire OS that provide customers with leaderboards, achievements, and sync functionalities.” It’s Amazon’s answer to Apple’s game center, but with one important difference. Game progress is saved even after a title is uninstalled from a Kindle Fire. Users can save progress on up to five devices.
Complete instructions and code samples are provided in GameCircle’s developer documentation. The process mostly consists of registering and validating your app through Amazon’s mobile app distribution portal, then adding snippets of code to call the GameCircle API. GameCircle is only supported by the Fire.
FreeTime (Parental Controls)
Kids with Kindles present parents with an interesting problem: choosing an Amazon account. Some parents simply registered a new account for kid-only stuff, while others have chosen to share accounts. Creating an account specifically for your child is no longer needed with the new FreeTime option. Kids get their own personalized experience with a custom login. Parents pre-approve apps available on devices. Developers only need to build great apps. There are no additional settings or API calls required.
Maps are a new feature in the new Kindle ecosystem. Currently, the maps API is available on a limited basis to developers who ask nicely. OK, your manner of asking isn’t a real consideration. The new Amazon Maps allows integration with interactive maps and custom overlays. As Amazon says, “The Amazon Maps API provides you with a simple migration path if you’re already using Google Maps on Android.”
Amazon provides device emulators with its Kindle Fire SDK, as well as access to Kindle Fire-specific functions like GameCircle. Development requires an understanding of your target devices and careful reading of the Amazon developer documentation. But it’s surprisingly similar from Android proper development than you might expect.