Help your app fly through testing

Nobody enjoys rejection--especially when it involves the Android application you worked so hard on. Here at Amazon, we test every app that’s submitted. If you resubmit an app after it's been rejected, it will have to undergo our testing protocols all over again.

We test Android apps to help ensure a positive customer experience. We want our customers to feel secure that any app purchased from Amazon functions properly and does what it says it’s going to do.  We certainly don't want to be prescriptive or pass judgment on your app. Our goal is to prevent any bugs that will get between you and your users.   

Testing Protocols

Every submitted app undergoes a series of tests to ensure the app is stable, safe, and compatible with most mobile devices. Our testers use the following series of tests:

1. Linking: Does your app follow the linking guidelines found in the FAQ on the Developer Portal?

2. Stability and functionality tests: These tests involve a wide range of protocols:
        -Does the app open within 15 seconds?
        -Does the app have compliance with the major carriers?
        -Does the app exhibit freezing, force closing, and other forms of instability?
        -How does the app react to phone calls, text messages, and alarms?

3. Content issues: These tests ensure that the app has all the necessary and appropriate content. We watch for missing content, unreadable text, and incorrect graphics. We also check if the app complies with the Content Guidelines as outlined in the FAQ. These guidelines include policies regarding offensive content, copyright infringement, or illegal activities.

4. Security issues: All apps sold by Amazon must be secure and safe for any phone. Security tests include making sure the app does not store passwords without the user's consent, does not collect data and send it to unknown servers, and does not harm existing data on the device.
 
Testing Checklist

In order to save you time and help you avoid the hassle of recoding and resubmitting your app, we’re providing the six most common reasons we reject apps, along with tips to create and submit your app so it passes on the first submission.
 
1. Are the app's buttons all working?
Dead buttons will almost always result in a fail.

Do: Double- and triple-check those buttons to make sure they're doing what they need to do.

2. How does your app respond to phone call and alarm clock interrupts?
Let's say your app is a music player. What happens if someone calls you? Does the music keep playing while you answer the phone? Although you may love that Lady Gaga song playing on your app, you probably don’t want it blaring in your ear while you're on the phone.  Neither will most customers.
  
Do: Carefully test how your app responds to interrupts. A music player should definitely shut itself off for a phone call, or it will fail. A phone call or alarm clock should also interrupt a game. However, if your game makes the user start over from the beginning (without saving the player's place or at least the level the player is on), your app will fail. Web browsing apps also fall into this category. A phone call or alarm should not interrupt a download, for example.

3. Have you double-checked to make sure all your content is on every screen?
Blank screens = fail.  If some of your screens come up black, or are missing content, you'll only confuse the customers. Every screen on your app must serve a specific purpose.

Do: Take a look at every screen in your app to make sure no blank screens come up.

4. Have you tested your app on all SDKs that you support?

Apps must support the SDK claimed in the app’s manifest. 

Do: Be sure your manifest maps to the true SDK your app supports.   This is specified in the Android.xml file here:

 <uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />

5. How does your app respond to flipping the phone from Portrait to Landscape mode, and vice versa?
Another important test is how your app responds to the user holding the phone vertically (Portrait mode) and horizontally (Landscape mode). Does your app smoothly transition to these modes? If your app is designed to be used in only one mode, does it still work smoothly when the phone is flipped to the other mode?

Do: Be sure your app doesn't crash just because someone is holding the phone the "wrong" way. If it does, your app will fail testing.

6. Are the text and fields in your app properly formatted?
Sometimes, we run into apps that have text on top of other text, which is almost impossible to read. We also have seen apps with fields that are too narrow or misaligned with the text, making filling out forms a confusing process.

Do: Make sure your text isn't top of other text and that your fields are properly aligned. Again, it is important to test your app on a variety of phones, as different models may format your text in different ways.

Give Your App a Second Chance

At Amazon, customer experience is our top priority and central to our company culture. We want to make sure our customers have a large selection of apps to choose from. For this reason, we really want to publish your app. More apps in our store result in a better customer experience, but we also want to make sure all of the Android apps in our store meet the standards our customers expect. For this reason, we encourage you to resubmit apps that have failed. In the rejection notices, you should receive a detailed explanation of why your app failed testing. More often than not, it's for one of the six reasons listed above. Once your app's errors are fixed, your app should easily pass testing the second time around.

If you have any questions regarding why your app failed, or how to prevent your app from being rejected, our account managers will be happy to answer your questions and help expedite the publishing process. You can contact them through the Contact Us page in the developer portal.


Unavailable During Maintenance