2017-12-27 23 views
0

Ich verwende derzeit das InAppBillingPlugin von James Montemagno, um ein Abonnementprogramm in meiner App bereitzustellen.Kauf mit InAppBillingPlugin wiederherstellen

Es funktioniert gut, aber ich muss eine Wiederherstellungskauffunktion in der App machen, und ich stieß auf ein Problem mit diesem.

Ich habe den Prozess auf der documentation erläutert verfolgt, aber wenn ich die Funktion GetPurchaseAsync() aufrufen, gibt es nichts im Enumerable-Objekt, das ich bekomme.

You can see the complete object in the picture

ich mit meinem echten Apple Store-Account versucht, kaufte ich ein Produkt mit der tatsächlichen Anwendung in der Produktion und versuchte, meinen Kauf mit meiner App in Entwicklung wiederherzustellen.

Wenn jemand weiß, wie ich das korrigieren kann, wäre es sehr hilfreich!

+0

Was ich tun würde, wenn etwas Unvorhergesehenes mit einer Lib passiert, ist das Herunterladen des Quellcodes, das Einbinden in mein Projekt, um vollständig zu debuggen, was innerhalb passiert und warum. –

+0

Sie können den Kauf für die Entwicklung nicht wiederherstellen, wenn Sie die Produktion gekauft haben. Beide haben separate InApp-Kauf-URLs. –

Antwort

0

Verwenden Sie nicht Ihren echten Apple-Account, um die Produktions-App in der Entwicklungsumgebung zu testen. Es wird nicht funktionieren.
Wenn Sie Ihren In-App-Kauf mit Entwicklungsumgebung testen möchten. Bitte ändern Sie Ihr Apple-Konto, um Benutzerkonten zu testen, und verwenden Sie die Sandbox-Umgebung. Informationen zum Erstellen des eigenen Testkontos Ihrer App finden Sie unter: Create a sandbox tester account.
Beachten Sie, dass der Text "[Umgebung: Sandbox]" als Teil der Eingabeaufforderung angezeigt wird, um anzuzeigen, dass Sie mit der Testumgebung verbunden sind. Weitere Informationen zum Abrufen von Produktinformationen finden Sie unter here.

+0

Vielen Dank, ich kenne die Sandbox und ich habe es bereits versucht, aber die Aufzählungen Käufe enthalten nur Einkäufe ohne PurchaseToken, deshalb versuche ich mit der Produktion In App Purchase ... – nicar

+0

@nicar können Sie versuchen, etwas Code über die zu teilen Käufe erhalten Sie, ich denke, wir können die Informationen, die wir brauchen, in der Sandbox bekommen. –

+0

Der Code, den ich verwendet habe, um Einkäufe wiederherzustellen: 'var Käufe = erwarten billing.GetPurchasesAsync (ItemType.InAppPurchase); foreach (var Kauf in Käufe) { if (purchase.PurchaseToken! = Null) ' Der Code in der letzten "if" nie aufgerufen wird und wenn ich in Kauf sehen, kann ich sehen: [Kauf Enumerable] (https://imgur.com/upIGZBs) Alle zurückgesendeten Objekte enthalten genau dasselbe mit der gleichen TransactionDateUtc, nur die ID ist unterschiedlich. Was keinen Sinn ergibt, da diese Einkäufe in Sandbox an verschiedenen Tagen getätigt wurden. – nicar

Verwandte Themen