Tuesday 14 May 2013

Windows Store - Your app doesn’t meet requirement 4.1

Recently I uploaded my first Windows 8 app to the Windows Store. At first, my app didn't pass the certification process because of the following issue (Notes from Testers):
The app has declared access to network capabilities and no privacy statement was provided in the Description page. The app has declared access to network capabilities and no privacy statement was provided in the Windows Settings Charm.

Luckily for me the issue is widely described here. In short, if your app uses internet you need to define a privacy policy. the privacy policy needs to be linked from the app description page and also avaiable from the Settings Charm.

Solution

This is what you need to do to satisfy this requirement:
  1. Create a webpage describing your privacy policy (how you use user data etc.).
  2. Deploy that webpage to any server, so it's available to everybody who wants to read it.
  3. Add a link to your privacy page on the app`s description page in the Windows Store Developer Center:
  4. Add a link to the privacy policy page to your Settings Charm.
    Here is how I do it (basing on this post):
    1. Open the App.xaml.cs file
    2. Reference the following namespace:
      using Windows.UI.ApplicationSettings;
    3. Create following methods for adding the new action called 'Privacy Policy" to your Settings pane:
      private void AddPrivacyPolicy(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)
      {
          var privacyPolicyCommand = 
              new SettingsCommand("privacyPolicy", "Privacy Policy", (uiCommand) => ShowPolicyPage());
          args.Request.ApplicationCommands.Add(privacyPolicyCommand);
      }
      
      private async void ShowPolicyPage()
      {
          var uri = new Uri("http://YOUR-SERVER/privacy-policy.html")
          await Launcher.LaunchUriAsync(uri);
      }
    4. In the OnLaunched method register the newly created method:
      SettingsPane.GetForCurrentView().CommandsRequested += AddPrivacyPolicy;
  5. Rebuild your package and resubmit to the Windows Store. At this time that issue should be resolved.
When adding a Privacy Policy item to the Settings Charm you may consider using the Callisto project and its Settings Flyout support. It makes complex customization of that Settings Pane easier. In my case however it was shorter to add that single command in a regular way.

BTW I was really surprized how quick the certification process was - it took only 8h from the moment of submission! It's a huge improvment comparing to my experience with WP7 apps. I hope it stays that way.

No comments: