lördag, oktober 06, 2012

Personlig information i en Windows Store App

Att hantera personlig information i appar och siter är omgärdat av många lagar och regler. Jag kommer inte att gå in på något gällande PUL eller datalagringsdirektiv utan förutsätter att sådant är klart och utrett och nu är det dags att publicera en app till Windows Store. Vad ska man då tänka på och hur löser man det på ett enkelt sätt?

När du ska publicera en app till Windows Store så måste du ha en Privacy Policy. Min kollega Dag König har skrivt en bra blogpost om sina erfarenheter från att publicerat en app. Det jag tänkte visa här är hur man enkelt kan lägga till kod i sin app för att lägga en länk i settings charm som visar din privacy policy.

I processen att skicka in en app till WIndows Store så kommer man till ett läga där man ska ange en url till sin Privacy Policy. Den måste alltså finnas publicerad på något publikt ställe där dina användare kan läsa den. Jag skapade sidor här på bloggen för mina olika policies:

Privacy Policy för Leads Machine
http://bjorneriksen.blogspot.com/p/leads-machine-integritetspolicy.html
http://bjorneriksen.blogspot.com/p/leads-machine-privacy-policy.html

Privacy Policy för Movy
http://bjorneriksen.blogspot.com/p/movy-privacy-policy.html
http://bjorneriksen.blogspot.com/p/movy-integritetspolicy.html

Observer att din policy måste skrivas i samma språk som du har stöd för i din app. Så om du har stöd för svenska och engelska så behövs det två policys. Vet dock inte om man skulle kunna lägga dem på samma sida och bara hänvisa till den i bägge fallen.

Men det räcker inte. Du behöver också någonstans i din app visa eller länka till din privacy policy. I min app Movy skapade jag en hel panel som man får fram via settings charm:






Ännu enklare är att bara lägga till en länk i settings charm och peka på samma sida som du hänvisar till från Windows Store.

På MainPage.xaml.cs lägger kan man lägga till:

        public MainPage()
        {
            this.InitializeComponent();
            SettingsPane.GetForCurrentView().CommandsRequested += App_CommandsRequested;
        }

        private void App_CommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)
        {
            var privacyCommand = new SettingsCommand("Privacy", "Privacy policy", async (command) =>
                            {
                                await Launcher.
                                    LaunchUriAsync(new Uri("http://bjorneriksen.blogspot.com/p/ms-sweden-talk-privacy-policy.html"));
                            });
            args.Request.ApplicationCommands.Add(privacyCommand);
        }

Inga kommentarer: