Windows Phone 8 bondig lokalisatie, Windows Phone Store & In-App aankopen

Wanneer we het hebben over mobiele applicaties, is ontwikkeling niet het enige aspect dat we moeten overwegen. Als we succesvol willen zijn, moeten we ook onze applicatie verspreiden en promoten. In deze zelfstudie bespreken we de lokalisatie, de Windows Phone Store en in-app-aankopen.

Proefapps

Een van de onderscheidende kenmerken van Windows Phone-applicaties is dat ze een testmodus ondersteunen, waardoor ze kunnen worden gedownload vanuit de Windows Phone Store als een proef met beperkte functies. Zodra gebruikers besluiten om de volledige applicatie te kopen, hoeven ze deze niet vanaf nul te downloaden; de Store downloadt eenvoudigweg een bijgewerkt certificaat, waarmee alle eerder geblokkeerde functies worden ontgrendeld.

Vanuit het oogpunt van de ontwikkelaar is het beheren van een proef eenvoudig. De Windows.ApplicationModel.Store naamruimte bevat een klasse genaamd LicenseInformation, die een eigenschap aanbiedt genaamd IsTrial. Als de waarde is waar, het betekent dat de applicatie is geïnstalleerd in de proefmodus, dus we moeten de functies vergrendelen die we niet willen inschakelen; anders heeft de gebruiker het gekocht, zodat alle functies beschikbaar kunnen worden gemaakt.

Het is aan u om de beste proefervaring voor uw toepassing te kiezen. U kunt bijvoorbeeld sommige functies uitschakelen, het aantal keren beperken dat de toepassingen kunnen worden uitgevoerd of in een game kiezen welke niveaus u wilt ontgrendelen.

LicenseInformation info = new LicenseInformation (); if (info.IsTrial) MessageBox.Show ("Applicatie draait in proefmodus");  else MessageBox.Show ("Applicatie draait in de volledige modus!"); 

Localization

Een van de beste manieren om de verkoop en het aantal downloads van een app te vergroten, is om meerdere talen te ondersteunen. De standaard Windows Phone 8-sjabloon in Visual Studio ondersteunt al lokalisatie door een map genaamd Middelen. Het bevat alle bronbestanden, dit zijn eenvoudige XML-bestanden met een special .resx uitbreiding.

Resourcebestanden zijn eenvoudig een verzameling waarden (de vertaalde tekst) die is gekoppeld aan een specifieke sleutel die in de toepassing wordt gebruikt om naar die tekst te verwijzen. Afhankelijk van de taal van de gebruiker, gebruikt de applicatie automatisch het juiste bronbestand.

De standaardsjabloon maakt een bestand met de naam AppResources.resx binnen in de Middelen map, die verwijst naar de standaardtaal (meestal Engels). 

Het ondersteunen van een nieuwe taal is eenvoudig. Net klik met de rechtermuisknop jouw project in de Solution Explorer en kies eigenschappen. In de box met ondersteunde culturen worden alle beschikbare talen weergegeven. Wanneer u nieuwe talen toevoegt door ze in de lijst te selecteren, maakt Visual Studio automatisch een nieuwe taal AppResources bestand met de naam AppResources.xx-yy.resx in de map Resources, waar xx-yy is de cultuurcode van de geselecteerde taal (als u bijvoorbeeld Italiaans hebt toegevoegd, wordt er een bestand met de naam gemaakt AppResources.it-IT.resx).

Visual Studio biedt een handige visuele editor voor het werken met bronbestanden. Het toont alle waarden in een tabel, waar u eenvoudig een sleutel, de waarde ervan en een optionele opmerking kunt definiëren. Om het eenvoudig te openen Dubbelklik op een bronbestand in de Middelen map.

Naast het aanbieden van een standaard bronbestand, bevat de Windows Phone-sjabloon ook een klasse genaamd LocalizedStrings, welke fungeert als een omslag tussen het lokaliseringsbestand en de XAML. U vindt het gedefinieerd als een globale bron in de App.xaml het dossier:

  

Dankzij deze wrapper hebt u rechtstreeks toegang tot bronnen in XAML. U hoeft het niet direct in de XAML toe te voegen telkens wanneer u tekst in de gebruikersinterface moet weergeven; in plaats daarvan voegt u de bronbestanden toe en verbindt u ze met uw XAML met de volgende syntaxis:

Dankzij de LocalizedStrings klasse, kunnen we elke waarde in het bronbestand openen door simpelweg de LocalizedResources.MyKey syntaxis, waar Mijn sleutel is de sleutel die de tekst identificeert die u wilt weergeven.

Als u rechtstreeks vanuit de code toegang wilt krijgen tot de resource-string, moet u de AppResources singleton-klasse, zoals getoond in het volgende voorbeeld:

private void OnShowMessageClicked (object afzender, RoutedEventArgs e) MessageBox.Show (AppResources.SampleText); 

De meertalige app-toolkit

Microsoft heeft een nuttige Visual Studio-extensie gemaakt met de naam Multilingual App Toolkit, die kan worden gedownload vanuit het Windows Dev Center. De tool verandert niet hoe lokalisatie werkt; het zal altijd gebaseerd zijn op bronbestanden, waartoe de toepassing toegang heeft via de LocalizedString klasse.

De volgende lijst bevat enkele van de belangrijkste voordelen van de Multilingual App Toolkit:

  • Een van de meest tijdrovende aspecten van het werken met lokalisatie is het handmatig kopiëren van alle nieuwe waarden die u in de basistaal hebt toegevoegd aan alle andere bronbestanden. De Multilingual App Toolkit zal dit voor u doen. Tijdens het bouwproces zal het alle nieuwe sleutels kopiëren die toegevoegd zijn aan de AppResources.resx bestand naar alle andere bronbestanden.
  • Het biedt een betere visuele interface voor het beheren van vertalingen. U kunt meteen de nieuwe te vertalen sleutels identificeren en een andere vertaalstatus instellen.
  • Het ondersteunt Bing-services om automatisch zinnen te vertalen. Vanzelfsprekend kunt u niet volledig vertrouwen op automatische vertalingen, maar ze kunnen een goed begin zijn voor uw lokalisatieproces.
  • Het is in staat om automatisch pseudo-taal te genereren, wat een manier is om onvertaalde bronnen onmiddellijk te identificeren en een beter idee te krijgen van hoeveel ruimtetekst in de UI in beslag wordt genomen.

Nadat u de toolkit hebt geïnstalleerd, moet u deze voor uw project inschakelen in de Hulpmiddelen menu van Visual Studio door de. te selecteren Schakel meertalige app-toolkit in keuze. Na het inschakelen werkt Visual Studio met .XLF bestanden in plaats van .resx bestanden (behalve de hoofdtaal). Tijdens het compilatieproces zal de toolkit alle vereiste genereren .resx bestanden voor u.

Als u de visuele interface van de toolkit wilt openen, dubbelklikt u op een .XLF bestand en je ziet de volledige lijst met bronnen. Een pictogram informeert u over de status van elke resource. Als de bron nog niet is vertaald, wordt een rode cirkel weergegeven. Als de bron is vertaald maar moet worden herzien, wordt een gele cirkel weergegeven. Als de vertaling is goedgekeurd, wordt een groene cirkel weergegeven.

Een taal dwingen

Windows Phone kiest automatisch het bronbestand dat overeenkomt met de taal van de telefoon. Als een geschikt bronbestand ontbreekt (omdat de taal van de telefoon niet wordt ondersteund door uw toepassing), wordt de standaard gebruikt.

U kunt dit gedrag wijzigen, bijvoorbeeld als u gebruikers de optie wilt geven om de gewenste taal te kiezen, ongeacht de taal van de telefoon. Om dit te doen, moet u een andere cultuurcode instellen wanneer de App klasse (aangegeven in de App.xaml.cs bestand) is gemaakt:

openbare App () CultureInfo culture = nieuwe CultureInfo ("it-IT"); Thread.CurrentThread.CurrentCulture = cultuur; Thread.CurrentThread.CurrentUICulture = cultuur; 

Nadat u een hebt gedefinieerd CultureInfo object door de cultuurcode als een parameter door te geven, kunt u deze toewijzen aan twee verschillende eigenschappen van de Thread.currentThread voorwerp:

  • CurrentCulture is de cultuur van de toepassing, die wordt gebruikt om functies zoals datum- en tijdnotaties, valuta enz. te definiëren.
  • CurrentUICulture is de cultuur van de gebruikersinterface, die wordt gebruikt om te begrijpen welk bronbestand moet worden gekozen.

Deze aanpak is ook vereist als u tijdens het testproces de pseudo-taal wilt gebruiken die door de Multilingual App Toolkit wordt gegenereerd. Omdat pseudo-taal geen officiële taal is die door het platform wordt ondersteund, moet u het forceren met behulp van de QPS-Ploc cultuurcode, zoals getoond in het volgende voorbeeld:

openbare App () CultureInfo culture = nieuwe CultureInfo ("qps-ploc"); Thread.CurrentThread.CurrentCulture = cultuur; Thread.CurrentThread.CurrentUICulture = cultuur; 

Het gebruik van pseudo-taal is een prima manier om nog te vertalen tekst te identificeren en te testen of de lay-out van uw toepassing in staat is om lange tekst te beheren. Wat meestal gebeurt bij het ontwikkelen van een applicatie, is dat je het test met slechts een paar talen, verget dat een woord dat in het Engels erg kort lijkt, bijvoorbeeld erg lang kan zijn als het in het Duits is vertaald.

De winkelervaring

Zoals vermeld in het eerste artikel, is de Windows Phone Store de enige manier om toepassingen aan uw gebruikers te distribueren, tenzij u de bedrijfsdistributie nastreeft. U hebt een betaald ontwikkelaarsaccount nodig, dat u kunt kopen bij Windows Dev Center. De kosten bedragen $ 19 per jaar, tenzij je een student bent die geabonneerd is op het DreamSpark-programma, in welk geval de toegang gratis is. Een vergelijkbaar voordeel wordt toegekend aan MSDN-abonnees: op de voordelenpagina kun je een token krijgen waarmee je je gratis kunt registreren.

Anders dan de jaarlijkse vergoeding hanteert Microsoft een methode voor het delen van opbrengsten: 30% van de prijs van het programma wordt door Microsoft bewaard, terwijl de andere 70% wordt besteed aan de ontwikkelaar. Natuurlijk is dit delen niet van toepassing als de app gratis is.

Zodra uw ontwikkelaarsaccount is geactiveerd en uw toepassing gereed is, kunt u deze indienen bij de portal op dev.windowsphone.com. Tijdens het proces moet u de functies voor de marketing van de toepassing definiëren, zoals prijs, metadata en distributietype. Hierna is de inzending voltooid en begint het certificeringsproces. Applicaties worden niet automatisch in de Store gepubliceerd; Eerst moeten ze een certificeringsproces doorlopen dat de aanvraag valideert, zowel vanuit technisch als inhoudelijk oogpunt.

De technische tests zorgen ervoor dat de applicatie gebruikers een goede ervaring biedt: het crasht niet, het is snel en reageert, en de gebruikersinterface is niet verwarrend.

De handmatige tests controleren de inhoud van de applicatie. Sommige soorten inhoud, zoals pornografie, excessief geweld, enz., Zijn niet toegestaan ​​en leiden tot een certificatiefout.

Wanneer u het verzendproces start, ziet u een lijst met stappen die u moet volgen om het proces te voltooien. Laten we even naar elke stap kijken.

Stap 1: App-info

De eerste stap van het publicatieproces wordt gebruikt om basisinformatie in te stellen, zoals de categorie van de app, prijsniveau en marktverdeling. Uw applicatie wordt automatisch in alle ondersteunde landen gedistribueerd tegen de door u gekozen prijs. De prijs wordt automatisch omgezet in de valuta van elk land. 

In deze stap kunt u ervoor kiezen om landen zoals China automatisch uit te sluiten, waar het inhoudsbeleid strenger is. Het certificeringsproces biedt ook een optioneel Marktselectie en aangepaste prijzen stap, die een diepere aanpassing biedt: u kunt ervoor kiezen om de toepassingen alleen in specifieke landen te distribueren en de prijs voor elk land aan te passen.

De andere belangrijke optie om tijdens deze stap in te stellen, is het distributiekanaal. Er zijn drie manieren om een ​​Windows Phone-applicatie te distribueren:

  • De openbare winkel: De app kan door elke gebruiker worden ontdekt en gedownload.
  • Verborgen: De app is nog steeds beschikbaar in de openbare winkel, maar kan niet door gebruikers worden ontdekt. De enige manier om dit te vinden, is door de directe link te gebruiken die wordt gegenereerd wanneer de app wordt gepubliceerd.
  • beta: De toepassing kan niet worden ontdekt door gebruikers en bovendien mogen alleen geautoriseerde gebruikers deze downloaden. Gebruikers zijn geautoriseerd met het Microsoft-account waarmee ze de telefoon hebben geregistreerd. U kunt maximaal 10.000 gebruikers opnemen tijdens het aanmeldingsproces. Dit distributiekanaal is gemaakt om bètatests te ondersteunen; in dit scenario wordt de toepassing echter niet daadwerkelijk getest, maar binnen twee uur na het indienen van de app beschikbaar voor de geselecteerde gebruikers. Een bètatoepassing vervalt automatisch 90 dagen nadat deze voor de eerste keer is ingediend, ongeacht latere updates.

Stap 2: upload en beschrijf uw XAP

De tweede stap vereist meer tijd om te voltooien, omdat u alle toepassingsinformatie moet opgeven die in de Windows Phone Store wordt weergegeven.

De eerste stap is om het XAP-bestand te uploaden. De XAP is het pakket dat door Visual Studio wordt geproduceerd wanneer u uw project compileert en het bevat alle vereiste bestanden voor de uit te voeren applicatie. Je vindt het in de bak map van uw Visual Studio-project. Vergeet niet om de toepassing altijd in vrijgavemodus te compileren; anders wordt het niet geaccepteerd.

Nadat u de XAP hebt geüpload, geeft de portal automatisch een samenvatting van de functies van de toepassing weer, zoals de ondersteunde resoluties, de vereiste mogelijkheden, enzovoort. Je moet ook het versienummer instellen van de applicatie die je uploadt.

De portal detecteert ook automatisch de talen die u ondersteunt, die in een vervolgkeuzemenu worden weergegeven Taal details. U moet de metadata van de toepassing (titel, beschrijving en trefwoorden) instellen voor elke ondersteunde taal. Deze informatie wordt weergegeven in de winkel wanneer de gebruiker de pagina van uw toepassing opent.

U moet ook ten minste één screenshot uploaden (acht zijn toegestaan) voor elke taal en ondersteunde resolutie, plus het pictogram van de toepassing. Ze worden weergegeven in het gedeelte Schermafbeeldingen van de Store. Om screenshots te maken, kunt u een van de tools gebruiken die beschikbaar zijn in de emulator.

Zodra u alle vereiste stappen hebt voltooid, toont de portal u een samenvatting van de inzending voor uw bevestiging.

De levenscyclus van de toepassing beheren

Nadat uw aanvraag is gecertificeerd, heeft u toegang tot vele rapporten die u zullen helpen begrijpen hoe goed uw applicatie presteert. Er zijn downloadrapporten, verkooprapporten en crashrapporten.

Als de toepassing het certificeringsproces niet doorstaat, vindt u in uw dashboard een PDF-bestand met het volledige rapport. Het zal u in detail vertellen wat er mis ging en wat u zou moeten doen om de geïdentificeerde problemen op te lossen.

Uiteindelijk kun je natuurlijk ook je applicatie updaten. In dit geval hoeft u alleen maar alle stappen voor het indienen van voorstellen te herhalen, hoewel alle velden al zijn gevuld met de oude informatie en metagegevens. Het proces is ook hetzelfde als u alleen informatie wilt wijzigen zoals de prijs, beschrijving en schermafbeeldingen. De inzending hoeft alleen te worden gecertificeerd als u informatie hebt gewijzigd die moet worden gevalideerd. Als u alleen de prijs wijzigt, wordt de update onmiddellijk gepubliceerd.

In-app aankopen

Een andere manier om geld te verdienen met Windows Phone-apps is om in-app-aankopen te ondersteunen. Naast het kopen van de app in de Store, kunnen gebruikers ook aankopen doen binnen de applicatie zelf.

In-app-aankopen zijn altijd toegestaan, maar Windows Phone 8 heeft specifieke API's en ondersteuning voor Microsoft-backends geïntroduceerd. Eerder was de ontwikkelaar verantwoordelijk voor het maken van de serverinfrastructuur, het beheren van betalingen en het verbinden van de client.

Nu kunt u eenvoudigweg vertrouwen op de Store-infrastructuur. Gebruikers betalen met dezelfde creditcard die zij hebben gebruikt om apps of muziek te kopen in de Store, en de portal stelt u in staat om een ​​of meer producten te maken die u in de toepassing kunt kopen. Ook in dit geval zal de methode voor het delen van opbrengsten worden toegepast. Als u dit wilt voorkomen, kunt u uw eigen infrastructuur voor in-app-aankopen implementeren; Microsoft dwingt ontwikkelaars niet om zijn diensten te gebruiken.

Het is belangrijk om te benadrukken dat in-app-aankopen via Microsoft-services alleen is toegestaan ​​voor virtuele producten (zoals nieuwe functies, spelniveaus, enz.); het kan niet worden gebruikt om fysieke goederen te kopen.

Twee soorten producten worden ondersteund door Windows Phone:

  • duurzame zijn producten die slechts één keer kunnen worden gekocht, zoals toepassingsfuncties, niveaupakketten, enz.
  • verbruiksgoederen zijn producten die na aankoop opnieuw kunnen worden gekocht, zoals virtuele munten.

Een product definiëren

Producten worden gedefinieerd in de portal. Op de pagina van de toepassing, de producten sectie biedt een optie om nieuwe in-app-producten toe te voegen. Het definiëren van een product is vergelijkbaar met het indienen van een applicatie: je moet een aantal basiseigenschappen instellen zoals de naam, prijs en metadata, en dan dien je het in.

Er zijn twee belangrijke eigenschappen:

  • de product-ID, een unieke ID die u in uw toepassing gebruikt om naar het product te verwijzen
  • het producttype, dat consumeerbaar of duurzaam kan zijn

Interactie met producten

Nadat u alle eigenschappen hebt gedefinieerd, kunt u gaan werken met de producten in uw toepassing. Waarschijnlijk is de eerste vereiste om de lijst met beschikbare producten weer te geven die gebruikers kunnen kopen. Dit doel wordt bereikt met behulp van de CurrentApp klasse die behoort tot de Windows.ApplicationModel.Store namespace.

private async void OnListStuffClicked (object afzender, RoutedEventArgs e) ListingInformation listing = await CurrentApp.LoadListingInformationAsync (); Lijst productListings = listing.ProductListings.Values.ToList (); Purchases.ItemsSource = productListings; 

De CurrentApp klasse onthult de LoadListingInformationAsync () methode, die a retourneert ListingInformation object dat alle informatie over de beschikbare producten opslaat. 

Producten worden opgeslagen in de productlistings verzameling. In het vorige voorbeeld tonen we ze aan de gebruiker met een LongListSelector controle, die de volgende definitie heeft:

         

elk ProductListing object bevat dezelfde eigenschap die we hebben toegewezen aan het product in de winkel. In het vorige voorbeeld laten we de naam zien (Naam) en prijs (FormattedPrice) van het product.

Zodra u de lijst met producten hebt, moet u het aankoopproces beheren. Nogmaals, we moeten de CurrentApp klasse, die de RequestProductPurchaseAsync () methode. Als een parameter gaan we de ProductListing object geselecteerd door de gebruiker.

private async void OnSelectedPurchaseChanged (object afzender, SelectionChangedEventArgs e) ProductListing selectedPurchase = Aankopen.SelectedItem als ProductListing; wachten op CurrentApp.RequestProductPurchaseAsync (selectedPurchase.ProductId, true); 

Nadat een product is gekocht, kunt u de status ervan controleren met behulp van de CurrentApp.LicenseInformation.ProductLicenses verzameling. Het bevat alle ondersteunde producten met de bijbehorende licentiestatus. Elk product wordt geïdentificeerd door een sleutel, die de unieke ID is die we hebben toegewezen toen we deze in de portal maakten.

private void MainPage_Loaded (object afzender, RoutedEventArgs e) if (CurrentApp.LicenseInformation.ProductLicenses.ContainsKey ("CoolProduct")) ProductLicense license = CurrentApp.LicenseInformation.ProductLicenses ["CoolProduct"]; if (license.IsActive) // Ontgrendel de functie.  else // Vergrendel de functie. 

In het vorige voorbeeld kunnen we bepalen of het product met de CoolProduct ID is gekocht door de waarde van de. te controleren Is actief eigendom. De bewerking wordt uitgevoerd wanneer de pagina is geladen: als het product is gekocht, ontgrendelen we de gerelateerde functie, anders wachten we totdat de gebruiker het heeft gekocht.

Voor een verbruiksartikel is het aankoopproces hetzelfde. Het enige verschil is dat, nadat het is verbruikt, we het moeten melden zodat het kan worden "ontgrendeld" om opnieuw te worden gekocht.

We kunnen het melden door het te bellen ReportProductFullfillment () methode van de CurrentApp klasse, die als een parameter de vereist ProductLicense object dat het product identificeert.

private void OnConsumeButtonClicked (object afzender, RoutedEventArgs e) var licenses = CurrentApp.LicenseInformation.ProductLicenses; if (licenses.ContainsKey ("CoolProductConsumable")) ProductLicense productLicense = licenties ["CoolProductConsumable"]; CurrentApp.ReportProductFulfillment (productLicense.ProductId); 

In-app-aankopen testen

Helaas is het testen van een in-app-aankoop niet zo eenvoudig. Aangezien producten in de portal moeten worden gedefinieerd, moet u uw aanvraag indienen voordat u het aankoopproces kunt testen.

Een omweg is om de applicatie te publiceren als bèta; omdat de app niet hoeft te worden gecertificeerd, is deze onmiddellijk beschikbaar voor testen. Het nadeel is dat het moeilijk is om het goed te testen als er iets fout gaat, omdat je het niet kunt zuiveren met Visual Studio zoals je dat normaal zou doen bij elke andere applicatie.

Om deze reden heeft Microsoft een testbibliotheek met de naam MockIAP. Het doel hiervan is om de echte API's voor in-app-aankopen 'bespotten', zodat de operaties niet worden uitgevoerd tegen de echte Microsoft-service, maar gebruik nepproducten die zijn gedefinieerd in de toepassing.

MockIAP kan worden gedownload van MSDN en toegevoegd aan uw oplossing. De API's die deze biedt, zijn dezelfde als die worden weergegeven door de native SDK; het enige verschil is dat ze behoren tot de MockIAPLib naamruimte in plaats van de Windows.ApplicationModel.Store namespace.

Er zijn twee dingen om te doen om de MockIAP-bibliotheek te gebruiken. De eerste is om een ​​aantal voorwaardelijke compilatie-instructies toe te voegen, zodat wanneer de applicatie wordt gecompileerd in de debug-modus (meestal tijdens het testen), deze de mock-bibliotheek gebruikt. Wanneer het wordt gecompileerd in de releasemodus, worden de echte Microsoft-services gebruikt.

In het volgende codevoorbeeld ziet u hoe de naamruimtedeclaratie eruitziet op uw pagina:

#als DEBUG wordt gebruikt met MockIAPLib; met Store = MockIAPLib; #else gebruik Windows.ApplicationModel.Store; #stop als

De tweede stap is het definiëren van de producten die we moeten gebruiken. Omdat de applicatie niet verbonden is met de echte services, moeten we de producten die we in de portal hebben gedefinieerd, dupliceren in de code.

De volgende code toont een voorbeeldinitialisatie:

private void SetupMockIAP () MockIAP.Init (); MockIAP.RunInMockMode (true); MockIAP.SetListingInformation (1, "en-US", "Dit is een voorbeeldapp", "1", "SampleApp"); ProductListing p = nieuwe productlijst Name = "Cool product", ProductId = "CoolProduct", ProductType = Windows.ApplicationModel.Store.ProductType.Durable, Description = "Een cool product", FormattedPrice = "10.00 €", Tag = string. Leeg; MockIAP.AddProductListing ("CoolProduct", p); ProductListing p2 = nieuwe ProductLijst Name = "Cool productverbruik", ProductId = "CoolProductConsumable", ProductType = Windows.ApplicationModel.Store.ProductType.Consumable, Description = "Een cool, verbruikbaar product", FormattedPrice = "5.00 €", Tag = string.Empty; MockIAP.AddProductListing ("CoolProductConsumable", p2); 

We creëren twee producten: een duurzame die wordt geïdentificeerd door de sleutel CoolProduct, en een verbruikbaar exemplaar geïdentificeerd door de sleutel CoolProductConsumable. Elk product wordt geïdentificeerd door de ProductListing class (dezelfde klasse die we bij de echte services hebben gebruikt) en we kunnen deze gebruiken om alle producteigenschappen te definiëren die meestal worden opgehaald uit Microsoft-services, zoals de naam, het type, de prijs enzovoort.

We voegen elk product toe met behulp van de AddProductListing () methode van de MockIAP klasse. Na het toevoegen van de producten kunnen we de standaard API's gebruiken voor in-app aankopen. Operaties worden lokaal uitgevoerd met de nepproducten in plaats van de echte services, maar het gedrag zal exact hetzelfde zijn. We kunnen de beschikbare producten bekijken, kopen en consumeren.

Conclusie

Wanneer we het hebben over mobiele applicaties, is ontwikkeling niet het enige aspect dat we moeten overwegen. Als we succesvol willen zijn, moeten we ook onze applicatie verspreiden en promoten. In deze zelfstudie hebben we het volgende besproken:

Deze tutorial vertegenwoordigt het laatste hoofdstuk van Windows Phone 8 Kort gezegd, een gratis eBook van het team van Syncfusion. We hopen dat je deze serie leuk vond om applicaties voor Windows Phone 8 te ontwikkelen!