Windows Phone 8 Erfolgreich Lokalisierung, Windows Phone Store & In-App-Käufe

Wenn wir über mobile Anwendungen sprechen, müssen wir nicht nur die Entwicklung berücksichtigen. Wenn wir erfolgreich sein wollen, müssen wir auch unsere Bewerbung verteilen und bewerben. In diesem Lernprogramm werden die Lokalisierung, der Windows Phone-Store und In-App-Käufe besprochen.

Test-Apps

Eine der Besonderheiten von Windows Phone-Anwendungen besteht darin, dass sie einen Testmodus unterstützen, der es ihnen ermöglicht, sie als Testversion mit eingeschränkten Funktionen vom Windows Phone Store herunterzuladen. Sobald Benutzer sich für den Kauf der vollständigen Anwendung entschieden haben, müssen sie sie nicht von Grund auf herunterladen. Der Store lädt einfach ein aktualisiertes Zertifikat herunter, wodurch alle zuvor gesperrten Funktionen freigegeben werden.

Aus der Sicht des Entwicklers ist das Verwalten einer Testversion einfach. Das Windows.ApplicationModel.Store Namespace enthält eine aufgerufene Klasse Lizenzinformationen, was bietet eine Eigenschaft namens IsTrial. Wenn sein Wert ist wahr, Dies bedeutet, dass die Anwendung im Testmodus installiert wurde. Daher müssen die Funktionen gesperrt werden, die nicht aktiviert werden sollen. Andernfalls hat der Benutzer es erworben, sodass alle Funktionen verfügbar gemacht werden können.

Es liegt an Ihnen, die beste Testversion für Ihre Anwendung auszuwählen. Sie können beispielsweise einige Funktionen deaktivieren, die Anzahl der Ausführung von Anwendungen einschränken oder in einem Spiel auswählen, welche Ebenen freigegeben werden sollen.

LicenseInformation info = new LicenseInformation (); if (info.IsTrial) MessageBox.Show ("Anwendung läuft im Testmodus");  else MessageBox.Show ("Anwendung läuft im Vollmodus!"); 

Lokalisierung

Eine der besten Möglichkeiten, um den Umsatz und die Anzahl der Downloads einer Anwendung zu steigern, ist die Unterstützung mehrerer Sprachen. Die Standardvorlage von Windows Phone 8 in Visual Studio unterstützt bereits die Lokalisierung, indem ein Ordner mit dem Namen enthalten wird Ressourcen. Es enthält alle Ressourcendateien, bei denen es sich um einfache XML-Dateien mit besonderem Inhalt handelt .resx Erweiterung.

Ressourcendateien sind einfach eine Sammlung von Werten (der übersetzte Text), die einem bestimmten Schlüssel zugeordnet sind, der in der Anwendung verwendet wird, um auf diesen Text zu verweisen. Je nach Sprache des Benutzers verwendet die Anwendung automatisch die richtige Ressourcendatei.

Die Standardvorlage erstellt eine Datei mit dem Namen AppResources.resx in der Ressourcen Ordner, der sich auf die Standardsprache bezieht (normalerweise Englisch). 

Eine neue Sprache zu unterstützen ist einfach. Gerade Rechtsklick Ihr Projekt in der Lösungsforscher und wähle Eigenschaften. Im Feld für die unterstützten Kulturen werden alle verfügbaren Sprachen angezeigt. Wenn Sie neue Sprachen hinzufügen, indem Sie sie in der Liste auswählen, erstellt Visual Studio automatisch eine neue AppResources Datei benannt AppResources.xx-yy.resx im Ressourcenordner wo xx-yy ist der Kulturcode der ausgewählten Sprache. Wenn Sie beispielsweise Italienisch hinzugefügt haben, wird eine Datei mit dem Namen erstellt AppResources.it-IT.resx).

Visual Studio bietet einen nützlichen visuellen Editor für die Arbeit mit Ressourcendateien. Es zeigt alle Werte in einer Tabelle an, in der Sie auf einfache Weise einen Schlüssel, dessen Wert und einen optionalen Kommentar definieren können. Um einfach darauf zuzugreifen Doppelklick auf eine Ressourcendatei in der Ressourcen Mappe.

Neben der Bereitstellung einer Standardressourcendatei enthält die Windows Phone-Vorlage auch eine Klasse namens LocalizedStrings, welches als Wrapper zwischen der Lokalisierungsdatei und der XAML fungiert. Sie finden es als globale Ressource in der App.xaml Datei:

  

Dank dieses Wrappers können Sie direkt auf Ressourcen in XAML zugreifen. Sie müssen ihn nicht jedes Mal direkt in der XAML hinzufügen, wenn Sie Text in der Benutzeroberfläche anzeigen müssen. Stattdessen fügen Sie die Ressourcendateien hinzu und verbinden sie mit der folgenden Syntax mit Ihrer XAML:

Danke an die LocalizedStrings Klasse können wir auf jeden Wert in der Ressourcendatei einfach zugreifen, indem Sie die LocalizedResources.MyKey Syntax, wo Mein Schlüssel ist der Schlüssel, der den anzuzeigenden Text identifiziert.

Wenn Sie direkt vom Code auf die Ressourcenzeichenfolge zugreifen möchten, müssen Sie die AppResources Singleton-Klasse, wie im folgenden Beispiel gezeigt:

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

Das mehrsprachige App Toolkit

Microsoft hat eine nützliche Visual Studio-Erweiterung namens Multilingual App Toolkit erstellt, die vom Windows Dev Center heruntergeladen werden kann. Das Tool ändert nichts an der Lokalisierung. Es wird immer auf Ressourcendateien basieren, auf die die Anwendung mit Hilfe von zugreift LocalizedString Klasse.

In der folgenden Liste sind einige der wichtigsten Vorteile des mehrsprachigen App Toolkit aufgeführt:

  • Einer der zeitaufwändigsten Aspekte beim Arbeiten mit der Lokalisierung ist das manuelle Kopieren aller neuen Werte, die Sie in der Basissprache hinzugefügt haben, in alle anderen Ressourcendateien. Das Multilingual App Toolkit erledigt dies für Sie. Während des Erstellungsvorgangs werden alle neuen Schlüssel kopiert, die dem hinzugefügt wurden AppResources.resx Datei zu allen anderen Ressourcendateien.
  • Es bietet eine bessere visuelle Schnittstelle zum Verwalten von Übersetzungen. Sie können sofort die neuen Schlüssel für die Übersetzung identifizieren und einen anderen Übersetzungsstatus festlegen.
  • Es unterstützt Bing-Dienste zur automatischen Übersetzung von Sätzen. Natürlich können Sie sich nicht vollständig auf automatische Übersetzungen verlassen, aber sie können einen guten Start für Ihren Lokalisierungsprozess darstellen.
  • Es ist in der Lage, automatisch eine Pseudo-Sprache zu generieren. Dies ist eine Möglichkeit, nicht übersetzte Ressourcen sofort zu identifizieren und eine bessere Vorstellung davon zu bekommen, wie viel Platz Text in der Benutzeroberfläche benötigt.

Nachdem Sie das Toolkit installiert haben, müssen Sie es für Ihr Projekt in aktivieren Werkzeuge Menü von Visual Studio durch Auswahl von Aktivieren Sie das mehrsprachige App-Toolkit Möglichkeit. Nach der Aktivierung arbeitet Visual Studio mit .xlf Dateien statt .resx Dateien (außer der Hauptsprache). Während des Kompilierungsvorgangs generiert das Toolkit alle erforderlichen Elemente .resx Dateien für Sie.

Um auf die visuelle Benutzeroberfläche des Toolkits zuzugreifen, doppelklicken Sie einfach auf .xlf Datei und Sie sehen die vollständige Liste der Ressourcen. Ein Symbol informiert Sie über den Status der einzelnen Ressourcen. Wenn die Ressource noch nicht übersetzt wurde, wird ein roter Kreis angezeigt. Wenn die Ressource übersetzt wurde, aber eine Revision erfordert, wird ein gelber Kreis angezeigt. Wenn die Übersetzung genehmigt wurde, wird ein grüner Kreis angezeigt.

Eine Sprache erzwingen

Windows Phone wählt automatisch die Ressourcendatei aus, die der Sprache des Telefons entspricht. Wenn eine entsprechende Ressourcendatei fehlt (weil die Sprache des Telefons von Ihrer Anwendung nicht unterstützt wird), wird die Standardeinstellung verwendet.

Sie können dieses Verhalten beispielsweise ändern, wenn Sie Benutzern die Möglichkeit geben möchten, die von ihnen bevorzugte Sprache unabhängig von der Sprache des Telefons auszuwählen. Dazu müssen Sie einen anderen Kulturcode festlegen, wenn Sie App Klasse (in der App.xaml.cs Datei) wird erstellt:

public App () CultureInfo culture = new CultureInfo ("it-IT"); Thread.CurrentThread.CurrentCulture = culture; Thread.CurrentThread.CurrentUICulture = culture; 

Nachdem Sie eine definiert haben CultureInfo Wenn Sie den Kulturcode als Parameter übergeben, können Sie ihn zwei verschiedenen Eigenschaften des Objekts zuweisen Thread.CurrentThread Objekt:

  • CurrentCulture ist die Kultur der Anwendung, in der Funktionen wie Datums- und Zeitformate, Währung usw. definiert werden.
  • CurrentUICulture ist die Benutzeroberflächenkultur, die verwendet wird, um die zu verwendende Ressourcendatei zu verstehen.

Dieser Ansatz ist auch erforderlich, wenn Sie während des Testvorgangs die vom Multilingual App Toolkit generierte Pseudosprache verwenden möchten. Da Pseudo-Sprache keine offizielle Sprache ist, die von der Plattform unterstützt wird, müssen Sie sie mit Hilfe von erzwingen qps-ploc Kulturcode, wie im folgenden Beispiel gezeigt:

public App () CultureInfo culture = new CultureInfo ("qps-ploc"); Thread.CurrentThread.CurrentCulture = culture; Thread.CurrentThread.CurrentUICulture = culture; 

Die Verwendung von Pseudosprache ist eine großartige Möglichkeit, um noch zu übersetzenden Text zu identifizieren und zu testen, ob das Layout Ihrer Anwendung langen Text verwalten kann. Beim Entwickeln einer Anwendung passiert normalerweise, dass Sie sie nur mit ein paar Sprachen testen und vergessen, dass ein Wort, das auf Englisch sehr kurz aussieht, sehr lang sein kann, wenn es in die deutsche Sprache übersetzt wird.

Das Store-Erlebnis

Wie im ersten Artikel erwähnt, ist der Windows Phone Store die einzige Möglichkeit, Anwendungen an Ihre Benutzer zu verteilen, sofern Sie keine Unternehmensverteilung betreiben. Sie benötigen ein kostenpflichtiges Entwicklerkonto, das Sie im Windows Dev Center erwerben können. Die Gebühr beträgt 19 US-Dollar pro Jahr, es sei denn, Sie sind ein Student, der das DreamSpark-Programm abonniert hat. In diesem Fall ist der Zugang kostenlos. MSDN-Abonnenten erhalten eine ähnliche Leistung: Auf der Seite "Vorteile" können Sie ein Token erhalten, mit dem Sie sich kostenlos registrieren können.

Abgesehen von der Jahresgebühr wendet Microsoft einen Umsatzbeteiligungsansatz an: 30% des Anwendungspreises werden von Microsoft einbehalten, während die anderen 70% an den Entwickler gehen. Diese Freigabe gilt natürlich nicht, wenn die App kostenlos ist.

Sobald Ihr Entwicklerkonto aktiviert wurde und Ihre Anwendung bereit ist, können Sie es an dev.windowsphone.com senden. Während des Prozesses müssen Sie die Marketingfunktionen der Anwendung wie Preis, Metadaten und Verteilungstyp definieren. Danach ist die Einreichung abgeschlossen und der Zertifizierungsprozess beginnt. Anwendungen werden nicht automatisch im Store veröffentlicht. Zunächst müssen sie einen Zertifizierungsprozess bestehen, der die Anwendung sowohl in technischer als auch inhaltlicher Hinsicht validiert.

Die technischen Tests stellen sicher, dass die Anwendung den Benutzern eine gute Erfahrung bietet: Sie stürzt nicht ab, ist schnell und reaktionsschnell und die Benutzeroberfläche ist nicht verwirrend.

Die manuellen Tests prüfen den Inhalt der Anwendung. Einige Arten von Inhalten wie Pornografie, übermäßige Gewalt usw. sind nicht zulässig und führen zu einem Zertifizierungsfehler.

Wenn Sie den Übermittlungsprozess starten, wird eine Liste mit Schritten angezeigt, die zum Abschluss des Vorgangs auszuführen sind. Lassen Sie uns jeden Schritt kurz betrachten.

Schritt 1: App Info

Im ersten Schritt des Veröffentlichungsprozesses werden einige grundlegende Informationen festgelegt, z. B. die Kategorie der App, die Preisstufe und die Marktverteilung. Ihre Bewerbung wird automatisch in allen unterstützten Ländern zu dem von Ihnen gewählten Preis verteilt. Der Preis wird automatisch in die Landeswährung umgerechnet. 

In diesem Schritt können Sie festlegen, dass Länder wie China, in denen die Inhaltsrichtlinien strenger sind, automatisch ausgeschlossen werden. Der Zertifizierungsprozess bietet optional eine Option Marktauswahl und individuelle Preisgestaltung Schritt, der eine tiefere Anpassung ermöglicht: Sie können die Anwendungen nur in bestimmten Ländern verteilen und den Preis für jedes Land anpassen.

Die andere wichtige Option, die Sie während dieses Schritts einstellen müssen, ist der Vertriebskanal. Es gibt drei Möglichkeiten, eine Windows Phone-Anwendung zu verteilen:

  • Der öffentliche Laden: Die App kann von jedem Benutzer erkannt und heruntergeladen werden.
  • Versteckt: Die App ist immer noch im Public Store verfügbar, kann jedoch von Benutzern nicht erkannt werden. Die einzige Möglichkeit, sie zu finden, besteht darin, den direkten Link zu verwenden, der bei der Veröffentlichung der App generiert wird.
  • Beta: Die Anwendung kann nicht von Benutzern erkannt werden, und außerdem dürfen nur berechtigte Benutzer sie herunterladen. Benutzer erhalten das Microsoft-Konto, mit dem sie das Telefon registriert haben. Sie können während des Einreichungsprozesses bis zu 10.000 Benutzer hinzufügen. Dieser Vertriebskanal wurde zur Unterstützung von Beta-Tests erstellt. In diesem Szenario wird die Anwendung jedoch nicht tatsächlich getestet, sondern steht den ausgewählten Benutzern innerhalb von zwei Stunden nach dem Senden der Anwendung zur Verfügung. Eine Beta-Anwendung läuft unabhängig von späteren Aktualisierungen automatisch 90 Tage nach der ersten Einreichung ab.

Schritt 2: Laden Sie Ihr XAP hoch und beschreiben Sie es

Für den zweiten Schritt ist mehr Zeit erforderlich, da Sie alle Anwendungsinformationen angeben müssen, die im Windows Phone Store angezeigt werden.

Der erste Schritt ist das Hochladen der XAP-Datei. Das XAP ist das Paket, das von Visual Studio beim Kompilieren Ihres Projekts erstellt wurde. Es enthält alle für die Ausführung der Anwendung erforderlichen Dateien. Sie finden es in der Behälter Ordner Ihres Visual Studio-Projekts. Vergessen Sie nicht, die Anwendung immer im Freigabemodus zu kompilieren. Andernfalls wird es nicht akzeptiert.

Nachdem Sie das XAP hochgeladen haben, zeigt das Portal automatisch eine Zusammenfassung der Funktionen der Anwendung an, z. B. der unterstützten Auflösungen, der erforderlichen Funktionen usw. Sie müssen auch die Versionsnummer der Anwendung angeben, die Sie hochladen.

Das Portal erkennt auch automatisch die von Ihnen unterstützten Sprachen. Diese werden in einem Dropdown-Menü angezeigt Angaben zur Sprache. Sie müssen die Metadaten der Anwendung (Titel, Beschreibung und Schlüsselwörter) für jede unterstützte Sprache festlegen. Diese Informationen werden im Store angezeigt, wenn der Benutzer die Seite Ihrer Anwendung öffnet.

Sie müssen außerdem mindestens einen Screenshot (acht sind erlaubt) für jede Sprache und unterstützte Auflösung sowie das Anwendungssymbol hochladen. Sie werden im Screenshotbereich des Stores angezeigt. Um Screenshots aufzunehmen, können Sie eines der im Emulator verfügbaren Tools verwenden.

Nachdem Sie alle erforderlichen Schritte ausgeführt haben, zeigt Ihnen das Portal eine Zusammenfassung der Einreichung zur Bestätigung.

Verwalten des Lebenszyklus der Anwendung

Nachdem Ihre Anwendung zertifiziert wurde, haben Sie Zugriff auf viele Berichte, mit deren Hilfe Sie die Leistung Ihrer Anwendung verstehen können. Es gibt Downloadberichte, Verkaufsberichte und Absturzberichte.

Wenn die Anwendung den Zertifizierungsprozess nicht besteht, finden Sie in Ihrem Dashboard eine PDF-Datei mit dem vollständigen Bericht. Sie erfahren detailliert, was schiefgegangen ist und was Sie tun müssen, um die festgestellten Probleme zu beheben.

Am Ende können Sie natürlich auch Ihre Anwendung aktualisieren. In diesem Fall müssen Sie lediglich alle Übermittlungsschritte wiederholen, obwohl alle Felder bereits mit den alten Informationen und Metadaten gefüllt sind. Der Vorgang ist auch derselbe, wenn Sie lediglich Informationen wie Preis, Beschreibung und Screenshots ändern möchten. Die Einreichung muss nur zertifiziert werden, wenn Sie Informationen geändert haben, die validiert werden müssen. Wenn Sie nur den Preis ändern, wird das Update sofort veröffentlicht.

In-App Käufe

Eine andere Möglichkeit, mit Windows Phone-Apps Geld zu verdienen, ist die Unterstützung von In-App-Käufen. Benutzer können die App nicht nur im Store kaufen, sondern auch innerhalb der Anwendung selbst einkaufen.

In-App-Käufe waren immer erlaubt, aber Windows Phone 8 hat bestimmte APIs und Microsoft-Backend-Unterstützung eingeführt. Zuvor war der Entwickler dafür verantwortlich, die Serverinfrastruktur zu erstellen, Zahlungen zu verwalten und den Client zu verbinden.

Nun können Sie sich einfach auf die Store-Infrastruktur verlassen. Benutzer bezahlen mit derselben Kreditkarte, die sie für den Kauf von Apps oder Musik aus dem Store verwendet haben, und das Portal ermöglicht es Ihnen, ein oder mehrere Produkte zu erstellen, die innerhalb der Anwendung gekauft werden können. Auch in diesem Fall wird der Umsatzbeteiligungsansatz angewendet. Wenn Sie dies vermeiden möchten, können Sie Ihre eigene In-App-Einkaufsinfrastruktur implementieren. Microsoft zwingt Entwickler nicht, ihre Dienste zu nutzen.

Es ist wichtig hervorzuheben, dass das In-App-Kaufen über Microsoft-Dienste nur für virtuelle Produkte (z. B. neue Funktionen, Spielebenen usw.) zulässig ist. es kann nicht verwendet werden, um physische Güter zu kaufen.

Zwei Arten von Produkten werden von Windows Phone unterstützt:

  • Langlebige Güter sind Produkte, die nur einmal gekauft werden können, wie Anwendungsfunktionen, Levelpakete usw.
  • Verbrauchsmaterial sind Produkte, die nach dem Verbrauch wie virtuelle Münzen wieder gekauft werden können.

Produkt definieren

Produkte werden im Portal definiert. Auf der Anwendungsseite wird die Produkte In diesem Abschnitt können Sie neue In-App-Produkte hinzufügen. Das Definieren eines Produkts ähnelt dem Senden einer Bewerbung: Sie müssen einige grundlegende Eigenschaften wie Name, Preis und Metadaten festlegen und dann abschicken.

Es gibt zwei Schlüsseleigenschaften:

  • Die Produktkennung, eine eindeutige ID, die Sie in Ihrer Anwendung verwenden, um auf das Produkt zu verweisen
  • der Produkttyp, der verbrauchbar oder dauerhaft sein kann

Mit Produkten interagieren

Nachdem Sie alle Eigenschaften definiert haben, können Sie mit den Produkten in Ihrer Anwendung arbeiten. Wahrscheinlich besteht die erste Anforderung darin, die Liste der verfügbaren Produkte anzuzeigen, die Benutzer kaufen können. Dieses Ziel wird mit dem erreicht CurrentApp Klasse, die zum gehört Windows.ApplicationModel.Store Namespace.

private async void OnListStuffClicked (Objektsender, RoutedEventArgs e) ListingInformation Listing = await CurrentApp.LoadListingInformationAsync (); Liste productListings = Listing.ProductListings.Values.ToList (); Purchases.ItemsSource = productListings; 

Das CurrentApp Klasse macht die LoadListingInformationAsync () Methode, die a zurückgibt ListingInformation Objekt, das alle Informationen zu den verfügbaren Produkten speichert. 

Produkte werden im aufbewahrt Produktlisten Sammlung. Im vorherigen Beispiel zeigen wir sie dem Benutzer mit a an LongListSelector Kontrolle, die folgende Definition hat:

         

Jeden Produktliste Objekt enthält dieselbe Eigenschaft, die wir dem Produkt im Store zugewiesen haben. Im vorherigen Beispiel zeigen wir den Namen (Name) und Preis (FormattedPrice) des Produkts.

Sobald Sie die Produktliste haben, müssen Sie den Kaufprozess verwalten. Wieder müssen wir die verwenden CurrentApp Klasse, die das bietet RequestProductEinkaufAsync () Methode. Als Parameter übergeben wir das Produktliste vom Benutzer ausgewähltes Objekt.

private async void OnSelectedPurchaseChanged (Objektsender, SelectionChangedEventArgs e) ProductListing selectedPurchase = Purchases.SelectedItem als ProductListing; Erwarten Sie CurrentApp.RequestProductPurchaseAsync (selectedPurchase.ProductId, true); 

Sobald ein Produkt gekauft wurde, können Sie seinen Status mithilfe von überprüfen CurrentApp.LicenseInformation.ProductLicenses Sammlung. Es enthält alle unterstützten Produkte mit dem zugehörigen Lizenzstatus. Jedes Produkt wird durch einen Schlüssel identifiziert. Dies ist die eindeutige Kennung, die wir bei der Erstellung im Portal zugewiesen haben.

private void MainPage_Loaded (Objektsender, RoutedEventArgs e) if (CurrentApp.LicenseInformation.ProductLicenses.ContainsKey ("CoolProduct")) ProductLicense-Lizenz = CurrentApp.LicenseInformation.ProductLicenses ["CoolProduct"]; if (license.IsActive) // Entsperren Sie die Funktion.  else // Sperren Sie die Funktion. 

Im vorherigen Beispiel können wir feststellen, ob das Produkt mit der CoolProduct Die Kennung wurde erworben, indem der Wert von überprüft wurde Ist aktiv Eigentum. Die Operation wird ausgeführt, wenn die Seite geladen wird: Wenn das Produkt gekauft wurde, wird die entsprechende Funktion entsperrt. Andernfalls warten wir, bis der Benutzer die Seite gekauft hat.

Für ein Verbrauchsmaterial ist der Kaufvorgang derselbe. Der einzige Unterschied ist, dass wir es nach dem Verbrauch melden müssen, damit es „freigeschaltet“ werden kann, um es erneut kaufen zu können.

Wir können es melden, indem wir die anrufen ReportProductFullfillment () Methode der CurrentApp Klasse, die als Parameter die Produktlizenz Objekt, das das Produkt identifiziert.

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

Testen von In-App-Käufen

Leider ist das Testen eines In-App-Kaufs nicht sehr einfach. Da Produkte im Portal definiert werden müssen, müssen Sie Ihren Antrag einreichen, bevor Sie den Kaufprozess testen können.

Eine Problemumgehung besteht darin, die Anwendung als Beta zu veröffentlichen. Da die App nicht zertifiziert sein muss, steht sie sofort zum Testen zur Verfügung. Der Nachteil ist, dass es schwierig ist, das Gerät richtig zu testen, wenn etwas schief geht, da Sie es nicht mit Visual Studio debuggen können, wie Sie es normalerweise mit anderen Anwendungen tun würden.

Aus diesem Grund hat Microsoft eine Testbibliothek bereitgestellt MockIAP. Sein Zweck besteht darin, die echten In-App-Kauf-APIs zu „simulieren“, sodass die Vorgänge nicht für den echten Microsoft-Dienst ausgeführt werden, sondern gefälschte Produkte verwendet werden, die in der Anwendung definiert sind.

MockIAP kann von heruntergeladen werden MSDN und zu Ihrer Lösung hinzugefügt. Die angebotenen APIs sind die gleichen, die vom nativen SDK bereitgestellt werden. Der einzige Unterschied ist, dass sie zu den gehören MockIAPLib Namespace anstelle von Windows.ApplicationModel.Store Namespace.

Es gibt zwei Möglichkeiten, um die MockIAP-Bibliothek zu verwenden. Die erste besteht darin, einige bedingte Kompilierungsanweisungen hinzuzufügen, damit die Anwendung beim Debug-Modus (normalerweise während des Testens) die Mock-Bibliothek verwendet. Bei der Kompilierung im Freigabemodus werden die echten Microsoft-Dienste verwendet.

Das folgende Codebeispiel zeigt, wie die Namespace-Deklaration auf Ihrer Seite aussehen wird:

#if DEBUG mit MockIAPLib; using Store = MockIAPLib; #else mit Windows.ApplicationModel.Store; #endif

Der zweite Schritt ist die Definition der Produkte, die wir verwenden müssen. Da die Anwendung nicht mit den realen Diensten verbunden ist, müssen wir die im Portal definierten Produkte im Code duplizieren.

Der folgende Code zeigt eine Beispielinitialisierung:

private void SetupMockIAP () MockIAP.Init (); MockIAP.RunInMockMode (true); MockIAP.SetListingInformation (1, „en-US“, „Dies ist eine Beispielanwendung“, „1“, „SampleApp“); ProductListing p = new ProductListing Name = "Cooles Produkt", ProductId = "CoolProduct", ProductType = Windows.ApplicationModel.Store.ProductType.Durable, Description = "Ein cooles Produkt", FormattedPrice = "10.00 €", Tag = Zeichenfolge. Leer; MockIAP.AddProductListing ("CoolProduct", p); ProductListing p2 = new ProductListing Name = "Cooles Produktverbrauchsmaterial", ProductId = "CoolProductConsumable", ProductType = Windows.ApplicationModel.Store.ProductType.Consumable, Description = "Ein kaltes Verbrauchsprodukt", FormattedPrice = "5.00 €", Tag = Zeichenfolge.Leerlich; MockIAP.AddProductListing ("CoolProductConsumable", p2); 

Wir erstellen zwei Produkte: ein dauerhaftes durch den Schlüssel gekennzeichnetes CoolProduct, und ein Verbrauchsartikel, der durch den Schlüssel identifiziert wird CoolProductConsumable. Jedes Produkt wird durch das gekennzeichnet Produktliste class (dieselbe Klasse, die wir für die echten Services verwendet haben), und wir können damit alle Produkteigenschaften definieren, die normalerweise von Microsoft-Services abgerufen werden, wie Name, Typ, Preis usw..

Wir fügen jedes Produkt mit der AddProductListing () Methode der MockIAP Klasse. Nach dem Hinzufügen der Produkte können wir die Standard-APIs für In-App-Käufe verwenden. Die Vorgänge werden lokal mit den gefälschten Produkten statt mit den realen Diensten durchgeführt. Das Verhalten ist jedoch das gleiche. Wir können die verfügbaren Produkte auflisten, kaufen und konsumieren.

Fazit

Wenn wir über mobile Anwendungen sprechen, müssen wir nicht nur die Entwicklung berücksichtigen. Wenn wir erfolgreich sein wollen, müssen wir auch unsere Bewerbung verteilen und bewerben. In diesem Tutorial haben wir Folgendes besprochen:

Dieses Tutorial stellt das letzte Kapitel von dar Windows Phone 8 Endlich ein kostenloses eBook vom Team von Syncfusion. Wir hoffen, dass Ihnen diese Serie zur Entwicklung von Anwendungen für Windows Phone 8 gefallen hat!