0

Ich führe zum ersten Mal In-App-Billing durch, daher bin ich ein wenig verwirrt über Neueinkäufe.Liste der Einkäufe in onPurchasesAktualisiert

Als Documentation states:

Wenn Sie launchBillingFlow() aufrufen, die Google UI Kauf Bildschirm Displays abspielen. Wenn die Bestellung erfolgreich ist, werden die Antwortdaten von Google Play in einem Purchase-Objekt gespeichert, das an den entsprechenden Listener zurückgegeben wird. Google Play ruft dann die Methode onPurchasesUpdated() auf, um das Ergebnis einer Bestellung an einen Listener zu übermitteln, der die Schnittstelle PurchasesUpdatedListener implementiert .

Und die Unterschrift des onPurchasesUpdated() Methode ist wie folgt:

void onPurchasesUpdated(@BillingResponse int responseCode, @Nullable List<Purchase> purchases); 

Meine Frage: Ist onPurchasesUpdated() Methode eine Liste von ALLE Einkäufe bis jetzt in meiner app oder nur aktuelle initiiert Kauf eingeleitet liefern ?

Wenn es alle Einkäufe liefert, wie finde ich den neuesten initiierten Kauf heraus?

Antwort

0

Wie in den von Ihnen bereitgestellten Dokumenten angegeben, liefert die Methode eine Liste der neuesten Purchase Objekte, die entweder in Ihrer App oder im Play Store initiiert wurden.

(...) Sowohl die von Ihrer App initiierten Einkäufe als auch die vom Play Store initiierten Käufe werden hier gemeldet.

Und wenn man sich die Purchase Klasse aussehen docs, können Sie sehen, dass es eine Methode namens getPurchaseTime(), die Sie überprüfen können, wann das Kauf getätigt wurde. Das sind genug Informationen, um zu sehen, welcher der letzte Kauf war.

Sie können jedoch auch die anderen Methoden in dieser Klasse verwenden, um die Einkäufe zu verfolgen, z. B. getOrderId().

Aber wenn Sie alle Einkäufe überprüfen möchten, die der Benutzer in Ihrer App gemacht hat, und nicht nur die neuesten, werfen Sie einen Blick auf die queryPurchases()-Methode und werfen Sie einen Blick auf den Abschnitt Query purchased items im Schulungshandbuch.

+0

Vielen Dank. Was bedeuten "von Ihrer App initiierte und von Play Store initiierte Käufe?" Warum haben sie 2 Arten von Käufen erwähnt? Gehen nicht alle Käufe über den Play Store? – Umarov

+0

Sie sagten auch onPurchasesUpdated() liefert nur die letzten Käufe. Wie neu sind diese? – Umarov

+0

Ich glaube, es bedeutet jeder gekaufte Artikel bei der letzten Transaktion, aber ich musste es testen, um sicherzustellen. Die Ärzte sind sich in dieser Angelegenheit nicht so sicher. Und da Käufe, die vom Play Store initiiert werden, meinen, meinen sie direkt in der Play Store App, nicht in Ihrer App. – Mauker

Verwandte Themen