In-app køb i Windows 8

Med Windows 8-applikationer er det temmelig enkelt at faktisk sælge applikationen - bare upload det til Windows Store og indstil prisen. Men hvad med køb i appen? Microsoft har gjort det overraskende nemt også for dig. Desværre er det kompliceret af nogle fejl i dokumentationen.

Alt hvad du skal gøre i koden er at kontrollere, om funktionen er købt. Funktioner identificeres ved hjælp af strengværdier. I Windows Store kan du definere de funktioner (Microsoft kalder dem produkter), der kan købes, og prisen. For at kontrollere, om produktet er købt, skal du bruge den statiske metode opkald Windows.ApplicationModel.Store.CurrentApp.L LicenseInformation.ProductLicenses FeatureName .IsActive; dette returnerer en boolesk værdi. Hvis det ikke er købt, kan du bruge Windows.ApplicationModel.Store.CurrentApp.RequestProductPurchaseAsync ( FeatureName, IncludeReceipt ) til at anmode om, at brugeren får mulighed for at købe produktet. Kodeprøve A viser et komplet eksempel (opsat til et simuleret miljø).
 async private Task CheckFeature (strengfunktionsnavn) { 
 var applicationInformation = CurrentAppSimulator.L LicenseInformation; 
 if (applicationInformation.ProductLicenses featureName .IsActive) 
 { 
 vende tilbage sandt; 
 } 
 andet 
 { 
 afventer Windows.ApplicationModel.Store.CurrentAppSimulator.RequestProductPurchaseAsync (featureName, false); 
 returner applikationInformation.ProductLicenses featureName .IsActive; 
 } 
 } 
Kodeprøve A Når du kører i emulatoren, skal du ikke bruge klassen CurrentApp, men CurrentAppSimulator; dette vil sikre dig, at det ikke prøver at arbejde imod Windows Store. Derudover skal du oprette filen WindowsStoreProxy.xml på placeringen% AppData% \ Local \ Packages \\ LocalState \ Microsoft \ Windows Store \ ApiData. "Program-id" kan findes i filen Package.appxmanifest som "Pakkenavn" ( figur A ). Figur A

Klik på billedet for at forstørre det.
XML-filen bruges af CurrentAppSimulator til at replikere, hvad Windows Store ville have til det kørende program. En prøve er i kodeeksempel B. Brug attributten "id" for produkter til at matche stingværdienavnene på dem. I min test opdaterer ikke et simuleret køb værdierne, og produktkøbskontrollen returneres stadig forkert.
 00000000-0000-0000-0000-000000000000 
 http://apps.microsoft.com/webpdp/app/00000000-0000-0000-0000-000000000000 
 da-DK 
 3 
 AppName 
 AppDescription 
 1.00 
 $ 
 USD 
 Testfunktion 
 1.00 
 $ 
 USD 
 rigtigt 
 rigtigt 
 rigtigt 
 Kodeeksempel B 

Det er alt, hvad der er til det!

J.Ja

© Copyright 2021 | pepebotifarra.com