Ich möchte den In-App-Kauf in meine Windows Universal App integrieren. Ich mache folgendes vor der Codierung.
Machen Sie die App auf dem Windows-Entwicklungscenter
Fügen Sie Produkte mit Details in den IAP-Bereich hinzu und senden Sie sie an den Store, wie Sie in Image
CurrentApp
anstelle von CurrentAppSimulator
in meinem Code verwendet, aber es geht in Ausnahme. Ich verknüpfe meine App auch mit Store und mein App-Paket ist dasselbe wie in der MS Dev Center App, wie Sie in Image sehen können
Wenn ich meine App starte und auf "Kaufen" klicke, habe ich diese Dialogbox erhalten, wie Sie in Image sehen können, nachdem ich dies nicht getan habe Erhalten Sie Belegdaten von Store.
Wenn ich falsch liege, dann geben Sie mir bitte eine Anleitung, um den In-App-Kauf zu implementieren und den In-App-Kauf auf meinem Laptop-Gerät zu testen.
Ich hatte dieses Problem auch und das Problem lag in der Datei WindowsStoreProxy.xml
.
Standardmäßig ist in WindowsStoreProxy.xml
der IsTrial
auf "true" gesetzt und in diesem Modus scheinen In-App-Käufe nicht zu funktionieren. Als ich es auf falsch änderte, fing es an, für mich zu arbeiten.
Zunächst sprechen wir hier über die Simulation eines In-App-Kaufs in der Entwicklungszeit (mit der Klasse CurrentAppSimulator
). In diesem Fall benötigen Sie eine Datei WindowsStoreProxy.xml
. Es ist hier
Nun wird das angezeigte Fenster durch die CurrentAppSimulator.RequestProductPurchaseAsync
-Zeile geöffnet. Es steuert im Grunde den Rückgabewert einer nativen nativen Methode von Windows Runtime (was für mich sehr merkwürdig ist ... ich denke, es ist nicht beabsichtigt von Microsoft ... etwas anderes sollte dort gemacht werden), aber wenn Sie S_OK
zurückgeben, ist das grundsätzlich der Fall wenn der Nutzer den In-App-Kauf bezahlt hat.
Wenn es nichts zurück gibt, dann ist mit sehr hoher Wahrscheinlichkeit etwas in WindowsStoreProxy.xml
falsch. Ich schlage vor, dass Sie Ihr eigenes WindowsStoreProxy.xml
erstellen und es mit der Methode CurrentAppSimulator.ReloadSimulatorAsync
wie folgt lesen:
Ich benutze den Standard von C:\Users\<username>\AppData\Local\Packages\<app package folder>\LocalState\Microsoft\Windows Store\ApiData\WindowsStoreProxy.xml
hat nicht funktioniert, aber eine einzige Änderung hat das Problem bereits gelöst: Ich habe diesen Teil geändert
Dazu:
%Vor% (So wurde IsTrial
auf false gesetzt ...)
Nun möchte ich an dieser Stelle auch erwähnen, dass dies ein wenig seltsam war, da in der Standardeinstellung WindowsStoreProxy.xml
kein Produkt für meinen In-App-Kauf definiert war. Also für meine "RemoveAds" wäre ein richtiger WindowsStoreProxy.xml
etwa so:
Ich möchte noch darauf hinweisen, dass der Parameter CurrentAppSimulator.RequestProductPurchaseAsync
mit zwei Parametern veraltet ist. Lassen Sie den wahren Parameter aus und Sie erhalten PurchaseResults
instance als Ergebnis, das den Beleg in der ReceiptXML
-Eigenschaft enthält.
Tags und Links .net c# windows-10 win-universal-app windows-rt