Thanks to Mike Francis of the Windows Phone Store certification and policy team, who provided much of the content for this blog. -- Bernardo
I work very hard to develop, test, and market my Windows Phone apps. Failing certification testing requires me to correct and resubmit my app, which can delay the app release and require additional time to fix the problems.
In this post, the Windows Phone Store certification and policy teams share the most common certification failures we see as apps go through the certification process. This post also covers steps you can take to avoid these failures. Armed with this knowledge, you can increase your chances of passing certification the first time and publishing your app to the Store on schedule.
These are the top Windows Phone App Submission requirements failures, from most common to least common.
Requirement 4.6 - App screenshots. Your app screenshots should not include any emulator chrome, frame rate counters, or debug information. They should not be altered or be transparent. Also, photos of your app running on a device or the emulator are not substitutes for a screenshot taken with the emulator.
Here are a couple of examples of bad screenshots:
Bad screenshot 1 – Note emulator chrome
Bad screenshot 2 - Note frame rate counter in upper right
And here are the correct screenshots:
Good screenshot 1 - No emulator chrome
Good screenshot 2 - No debug information
Requirement 5.1.4 - App Testability. Many apps require login credentials to run. If your app requires an existing account, make sure you create a test account that can be used by the certification team during testing. Don’t forget to include the account credentials in the Certification notes in your Dev Center submission. Click More XAP Options on the Upload and describe your XAP page.
Include test account credentials in Certification notes field.
Requirement 5.1.2 - App closure. This requirement is simply to verify that your app doesn’t crash during certification testing. As you know, if your app crashes in release mode, it just goes away without any user prompt. Certification will reject your app if it “unexpectedly terminates” during testing.
BugSense and Little Watson can help you collect unhandled exception telemetry data. See this KB article for more info on how to avoid crashes: Troubleshooting Windows Phone App Problems that occur after Submitting.
Requirement 4.7 – Required app images. Developers sometimes forget to replace default icons and tile images in an app created from a Visual Studio template. Other tools such as App Studio and Apache Cordova provide default images that are to be replaced with unique icons and tiles that reflect your app. The default images are useful in letting you know the required size for these assets.
Default tile provided by App Studio - replace before submitting
Default tile provided by Visual Studio – replace before submitting
Requirement 5.2.4 - Use of Back button. The Back button behavior is narrowly defined. The Back button should:
There are two exceptions to this:
1) If the app is a game, and if during game play the Back button is pressed, game play can be paused and present a pause prompt. Pressing the Back button again should dismiss the pause prompt and restart game play.
2) If you need to confirm with the user that they really intend to close the app when the Back button is pressed, you can display a confirmation prompt (for example, “Are you sure you want to quit?”). This should only be done when the Back button is pressed and the user is on the main page. An affirmative response should exit the app. A negative response should return the user to the main page. You can do this by overriding OnBackKeyPressed.
Requirement 5.5.1 – Language validation. For each of the languages your app supports, you must provide a localized app description. This is the description entered as part of your Dev Center submission. Certification testing also verifies that your app displays properly for each of the languages your app supports.
Requirement 5.5.2 – Content and themes. This requirement ensures your app displays properly in both light and dark themes. You can switch between themes on your phone. To do this, press Settings, and then press theme.
In Visual Studio the Device Window (Design | Device Window) allows you to toggle between the dark and light themes giving you feedback on the visibility of your UI items during layout.
var v = (Visibility)Resources["PhoneLightThemeVisibility"]==Visibility.Visible; // true==light theme, false== dark theme
These are the most common certification failures, though not a comprehensive list of all types of errors. You can review the entire list of requirements in the Windows Phone Dev Center.
I hope this helps you build apps that pass certification faster and with fewer rejections. Let us know what other issues you are encountering, so we can help you get your apps into the Store as quickly as possible.
a little trailer for our upcomming refresh of Zombies Night Out later in 2014
My favorite one was when my app was rejected for having the > character at the end of the name of each category in the title screen but the category itself was not clickable. I bet the only people who know that the > character is supposed to mean that the category is clickable are developers who had an app rejected because of that.
Very helpful. I am a student developer and I was facing these errors a lot.