Visar inlägg med etikett Windows Store. Visa alla inlägg
Visar inlägg med etikett Windows Store. Visa alla inlägg

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);
        }

Enterprise Authentication i Windows Store App

Idag fick jag lära mig den hårda vägen vad det innebär att använda sig av den capability, eller förmåga, i en Windows Store Application som heter Enterprise Authentication.


Tanken jag hade var att använda mig av UserInformation objektet i WinRT för att hämta ut information om inloggad användare. Min app ska bara vara tillgänglig för användare som har ett konto på Microsofts domän. Jag ville också hämta ut fullständigt namn och e-postadress.

private async Task<User> GetUserInformationAsync()
{var user = new User();

user.DomainName = await Windows.System.UserProfile.UserInformation.GetDomainNameAsync();

user.FirstName = await Windows.System.UserProfile.UserInformation.GetFirstNameAsync();

user.LastName = await Windows.System.UserProfile.UserInformation.GetLastNameAsync();

user.PrincipalName = await Windows.System.UserProfile.UserInformation.GetPrincipalNameAsync();

return user;
}

Om man kör ovan kod utan att ha Enterprise Authentication Capability så får man följnade fel:
 
System.UnauthorizedAccessException occured in mscorelib.dll.
Caller does not have the EnterpriseAuthentication capability.
 
Så långt inga problem. Jag markerade Enterprise Authentication som en capability för min app och kodade vidare. När jag var klar och skulle skicka in appen för certifiering så fallerade den redan i Windows App Certification Kit. Eller rättare sagt, jag fick en varning och den varningen kan jag inte ta mig förbi.
 
App Capabilities test
WARNING
Special Use Capabilities

  • Warning: The app has declared the following special use capabilities:
    • The app has declared the enterpriseAuthentication capability.
  • Impact if not fixed: If you don’t have a company account with the Windows Store, you won’t be able to upload this app. If you do have a company account, you’ll be required to provide justification during the submission process to support using this capability.
  • How to fix: Special use capabilities are intended for very specific scenarios. Only company accounts are allowed to use these capabilities. In addition, use of these capabilities is highly restricted and subject to additional Windows Store onboarding policy and review. Consider removing the special use capability if your app doesn’t require it.  
 
Det som är intressant i texten ovan är att den säger att jag måste ha ett Company account för att få använda mig av Enterprise Authentication capability. Processen för att skapa ett annorlunda jämfört med ett vanligt konto och man kan läsa mer om den här.
 
Så för min del är jag tillbaka på ruta ett när det gäller hur jag ska autentisera mina användare. Har fått några förslag från en kollega så vi får se var det slutar!


tisdag, oktober 02, 2012

Vill du ha stöd när du utvecklar en Windows Store app?

Har du en Windows 8 app på gång, sugen på att starta eller stött på problem?

Då ska du kontakta Jessica Engström! Hon slussar dig vidare genom hela processen och kommer göra sitt yttersta för att du ska få den hjälp du behöver!

Om du skickar länken till din publicerade app till Jessica innan den 25 oktober kl 24:00 (CET) så belönas du dessutom med ett presentkort som täcker kostnaden för ditt Windows Store konto.

De 10 första som skickar in länken får en Xbox 360 250GB med Kinect!


Kontakta Jessica via:
E-mail: b-jeengs@microsoft.com
Tel: 0722-84 36 77
Telefontid: Måndag, torsdag, fredag 11-16, tisdag och onsdag 14-19
Twitter: @grytlappen

Det är bra om du kan skicka följande information:
Företag/Namn
APPnamn och beskrivning
Telefon
E-post

tisdag, september 25, 2012

Badge Logo till en Windows Store app

I min senaste app behövde jag skapa en Badge Logo. En Badge Logo pekas ut i Package.appxmanifest under sektionen Notifications och används på lock screen för att visa notifieringar från en app. Det är inget krav att peka ut en Badge Logo men om din app kan ta emot toasts så måste du ha en Badge Logo och då måste den också vara korrekt. En felaktig Badge Logo kommer att göra så att ni app inte klarar certifieringen.


Exempel på en Badge Logo in action:


När jag så här i efterhand tittar på bilden ovan så är det helt uppenbart hur man ska göra en Badge Logo men när jag satt och bara vill få min app certifierad var det inte lika uppenbart.

Reglerna säger:
"A logo image that is shown next to the badge to identify the app. This image must be monochromatic, of type .png, and measure 24 x 24 pixels."

Det felmeddelande man får när man har en felaktig bild är:
Image reference "Assets\BadgeLogo.png": The image "C:\Program Files\WindowsApps\YourAppName_1.0.0.12_neutral__somerandomletters\Assets\BadgeLogo.png" has an ABGR value "0xFFC7C7C7" at position (0, 0) that is not valid. The pixel must be white (##FFFFFF) or transparent (00######).

Bilden som man skapar måste vara monokrom med transparanta (00######) och vita (##FFFFFF) pixlar. Dvs varje pixel ska vara genomskinlig eller i någon nyans av vitt.

För att lösa det använder man lämpligen ett bildbehandlingsprogram som kan hantera lager. Det kan vara Photoshop eller paint.net.
  1. Skapa en ny bild som är 24x24 pixels med tre lager.
  2. Lager 1 ska vara transparent, lager 2 ska vara svart och lager 3 transparent.
  3. Skapa ditt ikonsika mästerverk på lager tre och använd bara vit färg.
  4. Ta bort eller dölj lager 2 så att bilden bara har via och transparenta pixlar synliga.
  5. Spara din bild i jpg eller png
Du kan självklart hoppa över det svarta lagret men det är så mycket enklare att se vitt på svart än vitt på transparent.

måndag, september 24, 2012

Saker jag önskar att någon berättat för mig om utveckling av Windows 8 Store apps

För en tid sedan fick jag ett önskemål på en app från en kollega. Jag såg det som en perfekt uppgift att ta mig an, men en av de största utmaningarna var att den skulle vara klar en vecka senare. Så från File-New Project till pubbad på en vecka... är det möjligt?

Det är möjligt och nu är appen pubbad! Så jag tänkte skriva några saker som jag önskar att någon hade sagt till mig innan jag började:

Ladda ner alla Windows 8 App Samples för det språk du jobbar i!
Än så länge är det begränsat med resurser tillgängliga med bra beskrivningar av verkliga problem. Man Bingar på Google och Googlar på Bing och mycket av det som dyker upp är rena recensioner av Windows 8, framework-dokumentation och Windows 8 App Samples. Många spår leder också till Tim Heuer på Microsoft. Han har en mycket bra blog (http://timheuer.com/blog/) och verkar svara på ALLA frågor i forum som rör utveckling på Windows 8. Ett tips är också att söka på "metro styla applications" eftersom att många bloggar refererar till det namnet när man pratar om "Windows Store apps". Som sagt så pekar många länkar till Windows 8 App Samples så jag rekomenderar att ladda ner dessa och använda som referens.
 

Påbörja processen i Windows Store så tidigt som möjligt
Alla länkar man behöver finns under Project -> Store i Visual Studio 2012. Det första man ska göra är att reservera ett appnamn, börja fundera på beskrivning av din app samt hur de många olika bilderna som representerar din app ska se ut. Dessa bilder är olika typer av ikoner, splash screen och promotional images. En sak som jag har märkt är att när man väl bestämmer sig för att man är KLAR med första versionen av appen man vill publisera så vill man få ut den så snabbt som möjligt. För mig har det varit så att det tillfället också ofta infaller sent på natten. Att då komma på att man ska skriva snyggt formulerade texter samt skapa en massa screen shots och promotional images var lite tungt. Så klicka igenom hela processen någon gång tidigt och fundera på vad som ska stå i varje ruta. Kom också ihåg att den ska beskrivas på varje språk som du har stöd för.
 

Privacy policy
De flesta appar kräver någon slags privacy policy eller integritetspolicy. Det är en beskrivning vad hur appen och dess ansvarige hanterar personuppgifter. Ta det säkra före det osäkra och lägg till en privacy policy direkt! Man kan lägga till en länk under Settings-charms men behöver också ha någon extern plats att placera sina policies. På siten där man registrerar sin app finns ett fält för Privacy Policy. Detta är frivilligt men fyller du inte i det är det risk att din app inte godkänns (om det är så att det anses att du behöver en privacy policy). Jag placerade mina som pages på den här bloggen. En på engelska och en på svenska. Alla appar som har en privacy policy länkar också till dessa från översiktssidan i Windows Store.


  

Lägg till flerspråksstöd direkt
Även om du inte planerar att göra den första versionen av din app i flera språk så skulle jag rekommendera att lägga till stödet för flera språk direkt. Det görs enkelt genom att lägga till en Resource File till ditt projekt och placera den i en katalog som har samma namn som språkkoden. För svenska är det sv-se och för engelska är det en. Lägg sedan till x:Uid=”” på de element där du vill ha en text så kommer den att ersättas till rätt språk efter inställningen i Windows 8. T ex:

<TextBlock x:Uid="FewestMoves">
Om du senare vill lägga till ett nytt språk är det bara att skapa en ny Resource File och översätta den. För att testa din app i olika språk så ändrar du bara vilket språk som är överst i Language settings:

 


Det finns säkerligen mer att tillägga men det här är det jag önskar att någon hade berättat för mig innan jag började med min första Windows Store App. Min app heter Leads Machine.

Min första Windows Store app finns nu tillgänglig!

Min första Windows Store app, Leads Machine, finns nu tillgänglig för nerladdning till Windows 8. Den är en app som man kan använda för att spara leads. Tänk dig att du jobbar på en mässa och har en Windows 8-platta i din hand. Med appen Leads Machine kan du då enkelt registrera uppgifter och intresseområden som sedan används för att generera ett mail.


Appen är anpassningsbar med områdena till höger samt loggan i nederkant. Man kan också välja att inte visa loggan för Leads Machine så att den blir helt brandad för den som använder den. Om man t ex byter ut standardloggan till till en Microsoft-logga så ser appen ut så här:
 
Jag kan varmt rekommendera alla utvecklare att bygga en egen app. Det är enkelt, roligt och riktigt coolt att se ens app när den dyker upp i Windows Store.