Four simple ways to fail Windows Store app certification

There are many ways to fail Windows Store app certification, and in this article I’ll show you my “favorite” 4 which are almost the simplest but very common. Of course, if you wish to pass the certification, you must think the opposite way, and make sure that those do not happen to you. You could still fail, but you’re chances for passing are much better. Before submitting, always check the official certification requirements list for any changes since your last submission!

The certification requirements can be found here

Let’s start with the list.

1. Don’t include a privacy policy
This one will make you fail immediately in case you’re using Internet services to download your data. And most of the apps today do. They fetch the data over the Internet and show it to users. The problem is the fact that in order to do that, your app will make requests which might use some of the information that counts as private
I quote:

If your app has the technical ability to transmit any user's personal information, you must maintain a privacy policy. You must provide access to your privacy policy in the Description page of your app, as well as in the app’s settings as displayed in the Windows Settings charm.

Your privacy policy must inform users of the personal information transmitted by your app and how that information is used, stored, secured and disclosed, and describe the controls that users have over the use and sharing of their information, how they may access their information, and it must comply with applicable laws and regulations.

Therefore, you need to explicitly say to your user both in your app and somewhere else on the Internet how your app + services use those private information.

The best solution is to host the privacy policy on your website (like Tweetro app does it). You will need to give the URL to the privacy policy while uploading the app for certification, so you might as well reuse it when user taps on ‘Privacy policy’ in your app’s flyout (that’s where you need to put it). If you don’t have it – you will fail the certification!

2.  Set the wrong age rating

During app submission, you need to declare the age for which your app is suitable. If you are using public Internet services to get your data (such as Twitter API where you don’t have access to what people put or share), the age rating should be at least 12+ or even 16+ because if the app implements search, you never know what the results may show (pictures of violence or nudity for example), which will cause your app to fail.

I quote:

If your app provides a user with uncontrolled: (i) access to online social networks, or (ii) sharing of personal information with third parties, including other gamers or online acquaintances, then you must assign it a Windows Store rating of at least 12+. For such activity to be considered "controlled", your app must include parental control features that require parental permission to use such sharing features, and you must identify those and explain their functionality in the Notes to testers.

3. Don’t use Windows App Cert Kit

Windows App Cert Kit is a great tool which enables you to do some automated technical tests on your app to make sure it passes that same testing during the certification process. When you create the app package from Visual Studio, it asks you to test the app, but you can skip that step and don’t do it. That way you seriously risk failing the certification because some failures in the app are not obvious even if you developed it (for example, startup time – you might not notice that it exceeds 5 seconds, but if it does, it immediately fails). I wrote earlier about some of the issues with the tool that you may encounter.

The tool gives you information about the following:

  • Crashes and hangs test
  • App manifest compliance test
  • Windows security features test
  • Supported API test
  • Performance test
  • App manifest resources test
  • Debug configuration test
  • File encoding
  • Direct3D feature level support
  • App Capabilities test
  • Windows Runtime metadata validation

But even if you use the tool, there is another way to fail certification and it’s by ignoring the warnings it presents to you, such as this one

Even if your app starts under 5 seconds, it may still fail on low end systems if it takes 3 or more seconds to start. Make sure you have a big green PASSED to be on a nice way to pass the certification.

4. Ignore Internet connection failures

If your app uses Internet to get the data, you must know that it can fail easily. Bad reception, out of office, travelling (losing signal), or simply being disconnected means that your app should write a nice message to user that the Internet and the data are not available right now. If you want to fail, just ignore those exceptions and the app will crash which will cause you to fail. I quote:

Your app must not stop responding, end unexpectedly, or contain programming errors

No Internet connection, no fun for the user, but he needs to close the app himself, not your unhandled exception.

About Igor Ralic

Software engineer at Microsoft. Running for Office. Passionate about making an impact with great apps & services. Stays close to coffee and away from coriander. Opinions expressed here are my own.