Wednesday, 19 February 2014

Windows 8.1 and App Certification Privacy Requirements

I've now had a good chance to get some Windows 8 development in.  In the past few weeks I've gone through the writing and publishing of several Windows 8 apps.  The work required and the requirements for successful publication while not too different from Windows Phone, are definitely still different.

Once you've done one or two you sort of get a rhythm going and it becomes easier.  I did some Windows 8 apps last year but had forgotten a few things.  One of the items that always gets me is "To announce Privacy or not to announce"

Privacy in your App

No matter what, if your app uses the internet for ANYTHING you must have an in-app privacy statement.  With Windows 8 you needed to get some third party control or build your own "Flyout".  What you want is the Privacy Settings to be viewable from the "Settings Charm" when you swipe from the right.  Fortunately with Windows 8.1 it's really easy.  You just need to add a "Settings Flyout form to your project then add a bit of code to your App.xaml.cs.  You can add it to your mainpage.xaml.cs as well, but if you have reason to reload the page you can end up with several privacy statements.  If you have advertising in your app then you need a privacy flyout.  Even though the Advertising may have it's own privacy statement it's not good enough.  You will fail without your own.

I've now had a good chance to get some Windows 8 development in. In the past few weeks I've gone
through the writing and publishing of several Windows 8 apps. The work required and the requirements for successful publication while not too different from Windows Phone, there are definitely things you need to do. Once you've done one or two you sort of get a rhythm going and it becomes easier. I did some Windows 8 apps last year but had forgotten a few things. So to have a record of those things I have forgotten (for the next time I forget them) here I go. Privacy No matter what, if your app uses the internet for ANYTHING you must have an in-app privacy statement. With Windows 8 you needed to get some third party control or build your own "Flyout". What you want is the Privacy Settings to be viewable from the "Settings Charm" when you swipe from the right. Fortunately with Windows 8.1 it's really easy. You just need to add a "Settings Flyout form to your project then add a bit of code to your App.xaml.cs. You can add it to your mainpage.xaml.cs as well, but if you have reason to reload the page you can end up with several privacy statements. If you have advertising in your app then you need a privacy flyout. Even though the Advertising may have it's own privacy statement it's not good enough. You will fail without your own.

Windows.UI.ApplicationSettings.SettingsCommand privacySetting = new Windows.UI.ApplicationSettings.SettingsCommand("AppPrivacySettings", "Privacy", (handler) =>
    {
         MyPrivacyFlyout privacyFlyout = new MyPrivacyFlyout();
         privacyFlyout.Show();
    });

args.Request.ApplicationCommands.Add(privacySetting);



 

You add the Flyout to your application with these few lines of code. You can add a Settings Flyout or Instructions Flyout too using the same code althought they are not needed for certification. Most of my apps have a Settings, Privacy and (for games) Instructions flyout.  Just makes everything tidy.

Privacy in the Store

You need to have a Privacy Web site that pretty much says what is in your in-app Privacy statement.  This used to be more difficult than it is now.  Simply sign up for a free version of Windows Azure, create a simple web site (you only really need a single page) and  use the same text you used in your app.  If it's missing and you use data, you will fail.  Remember, with Azure, as of this writing, the Windows Azure free edition gets you 10 free websites although you only need 1 to host your privacy statement.  Easy.

https://www.windowsazure.com/
https://www.windowsazure.com/en-us/pricing/details/web-sites/