April 06, 2012lisamar
If you missed Kindle Fire and Your App(s) Part I and Part II, be sure to check them out!
How do you get a high-resolution icon for your app to display on Kindle Fire?
The icons on Kindle Fire are dynamically pulled from the Amazon Appstore for Android. Side-loaded apps cannot use this feature. Once you've submitted your app, and it's live in the Amazon Appstore, your app's appropriate icon will automatically be displayed.
You set up an emulator per the specifications in the Kindle Fire FAQ but the screen is being recognized as an x-large screen instead of a large screen, and loading assets accordingly. How do you fix this?
The default Android emulator mis-identifies the screen size as x-large instead of large with the standard emulator configuration. To override the configuration, complete the following on your activity onCreate method (before loading layouts or anything else):
final Configuration config = new Configuration(context.getResources().getConfiguration()); config.screenLayout = (config.screenLayout & Configuration.SCREENLAYOUT_LONG_MASK) + Configuration.SCREENLAYOUT_SIZE_LARGE; context.getResources().updateConfiguration(context.getResources().getConfiguration(), context.getResources().getDisplayMetrics());
Taking this action will ensure the emulator configuration properly uses the large screen size and loads the appropriate assets.
How do you keep the soft key menu on Kindle Fire visible at all times, instead of partially hidden?
To keep the menu bar present at all times, remove any code in the activities that enables full screen mode. The soft key bar at the bottom will then be visible at all times. Sample code to remove:
How do you connect Kindle Fire to Android Debug Bridge (ADB)?
To connect Kindle Fire to your Android Debug Bridge (ADB), follow the instructions in this PDF. Kindle Fire has USB debugging enabled by default.
Your app requires access to Google Mobile Services. Will it work on Kindle Fire?
Apps that run on Kindle Fire do not currently have access to Google Mobile Services (GMS). If your app currently requires access to GMS apps or services, we recommend that you either remove the features that require these services or modify them to degrade gracefully when invoked (e.g., with an error message such as: "This feature is not currently available on this device.").
Your app is optimized for the Motorola Xoom (Honeycomb 3.0-based Android). Will it work on Kindle Fire?
In general, apps optimized for a tablet experience will work on Kindle Fire. To increase the probability that your app will be compatible with Kindle Fire, you should only use APIs that are backwards compatible with Gingerbread (Android 2.3 OS).
What are the dimensions of the status bar (time, battery, signal strength, etc.) on Kindle Fire?
The status bar is 40 pixels in height.
How can you promote your app to Kindle Fire users?
We encourage you to promote your app's availability on Kindle Fire and in the Amazon Appstore for Android using Amazon-approved marketing assets. Developer Portal account holders can find Amazon approved marketing assets and brand, trademark and marketing guidelines here:
Amazon Appstore for Android Trademark Usage, Brand, and Marketing Guidelines
How do you get your app marketed on Kindle Fire?
All apps in the Amazon Appstore for Android are discoverable by millions of Amazon customers. Amazon's automated and targeted marketing and merchandising algorithms provide a unique and personalized shopping experience for every Amazon customer.
The Free App of the Day is our premier promotion in the Amazon Appstore for Android. Each day, the app we select is featured in some of the most visible placements in the Amazon Appstore. These placements and the exposure they provide drive significant traffic to the featured apps and allow the developers to quickly grow their installed base. In fact, it is common for apps to be downloaded more than 150,000 times on the day they are featured in the Free App of the Day. That volume of new users can not only generate great word-of-mouth publicity for your app, but can also provide a compelling opportunity for you to monetize your apps downstream through features like in-app purchasing and advertising.
If you'd like to submit your app for inclusion in the Free App of the Day program, please complete this form.
At last week’s CES, it was hard to ignore the fact that many technology pundits are considering 2011 as the year of the tablet. And although Apple should be thanked for resurrecting interest in tablets in 2010, 2011 will see a record breaking surge in the number of vendors bringing new tablets to market. Sean Dubravac, Chief Economist and Director of Research, Consumer Electronics Association, predicted, “While many firms are touting product launches within the tablet sphere for the fourth quarter of 2010, the real action will occur a few weeks after the end of the quarter at CES.” The next few weeks will be telling for the future of the tablet and so far it’s looking quite bright.
The good news for you, the Android developer, is that many of these tablets will be sporting Android OS and, with the recent announcement of the Amazon Appstore Developer Portal, you have a convenient way of offering your apps to both tablet and smartphone users. We’re not mandating that you optimize your apps for tablets as well as smartphones, but it’s definitely something you should consider.
The expected surge in the number of tablets on the market and the number of Android devices a single user will own brings forth new opportunities and challenges. The opportunities are clear—more devices mean more users, more hardware features and more APIs to take advantage of. These new tablets will continue to feature larger screens and supported resolution levels, ample amounts of disk space and extremely fast processer speeds that are not far behind that of a typical laptop. An important thing to remember as a developer is that customers may be using your app across tablets and smartphones – no longer just one or the other.
A quick comparison of the best selling smartphones and tablets on Amazon.com shows that tablets boast 50-100% more screen real-estate and 50% more disk space. Furthermore, many of the tablets demonstrated at CES also feature dual-core CPUs. These differences make it more important than ever for developers to be aware of the device capabilities and limitations. With Amazon.com’s convenient 1-Click purchase and digital locker features, customers will be able to buy your apps and run it on any of their Android devices. Unfortunately, the growth in devices will present one of the biggest challenges for you—you want to continue to build and extend your killer apps and offer it to the tens of millions of Amazon.com customers, but you also want to keep your customers happy by setting expectations on how and where the apps can be run.
The Android SDK requires that each application contain a file called AndroidManifest.xml within the apk. This is where you can let the system know what your app needs at a minimum to run and what resources and services it will use. For instance, if you are building a word processor app that is designed to only run on a tablet, you will want to set the android:largeScreens attribute to “true” on the <supports-screens> property, while explicitly setting the small and normal screen flags to false. If you don’t declare this requirement for your app, then the Android system will assume it works on all screen sizes.
On the other hand, if you are building a game that looks great on any phone or tablet, then you can declare this in the xml file by including the following settings:
One thing to be aware of, however, is that once you declare support for all screen sizes, you will want to check the DisplayMetrics settings at runtime to make important display decisions in your code. This information can be used to make performance optimizations, such as displaying low to medium resolution images on small devices and high resolution images on large screens—a great way to avoid creating multiple versions of your app.
Apps that depend on hardware resources, such as GPS, Wi-Fi or Bluetooth capabilities, can define these requirements by appropriately setting the <uses-features> option.
Furthermore, with last month’s announcement of the Gingerbread release, there are now 6 flavors of Android OS in use. If the trend over the past two years continues, you can expect one more major release (3.0, Honeycomb) and another minor release to be announced before 2012. With major features being added in every new platform version, such as improved copy-and-paste and faster text input processing in Gingerbread, you will want to take advantage of these capabilities and also ensure your apps only run under their supported environment. The manifest provides a way to enforce dependencies on specific SDK features by using the <uses-sdk> flag.
Customer satisfaction is a key driver behind Amazon.com’s success. As you develop and offer your application to Amazon.com’s customers, following these Android development best practices guidelines is a great start towards achieving similar success.