Entwicklernutzlast

Die Entwickler-Payload wurde in der Vergangenheit für verschiedene Zwecke verwendet, darunter zur Betrugsprävention und zur Zuordnung von Käufen zum richtigen Nutzer. Mit Version 2.2 und höher der Google Play Billing Library werden Anwendungsfälle, die zuvor auf die Entwickler-Payload angewiesen waren, jetzt vollständig in anderen Teilen der Bibliothek unterstützt.

Da diese Unterstützung jetzt verfügbar ist, haben wir die Entwickler-Payload ab Version 2.2 der Google Play Billing Library eingestellt. Methoden, die mit der Entwickler-Payload verknüpft sind, wurden in Version 2.2 eingestellt und in Version 3.0 entfernt. Ihre App kann die Entwickler-Payload weiterhin für Käufe abrufen, die mit früheren Versionen der Bibliothek oder AIDL getätigt wurden.

Eine detaillierte Liste der Änderungen finden Sie in den Versionshinweisen zur Google Play Billing Library 2.2. und in den Versionshinweisen zur Google Play Billing Library 3.0.

Bestätigung von Käufen

Damit Käufe authentisch sind und nicht gefälscht oder wiederholt werden, empfiehlt Google , das Kauf-Token (das Sie mit der getPurchaseToken() Methode im Purchase Objekt erhalten) zusammen mit den Google Play Developer APIs zu verwenden, um zu bestätigen, dass Käufe authentisch sind. Weitere Informationen finden Sie unter Betrug und Missbrauch bekämpfen.

Attribution von Käufen

Viele Apps, insbesondere Spiele, müssen sicherstellen, dass ein Kauf dem In-Game-Charakter bzw. -Avatar oder dem In-App-Nutzerprofil zugeordnet wird, von dem der Kauf initiiert wurde. Ab der Google Play Billing Library 2.2 kann Ihre App beim Starten des Kaufdialogs verschleierte Konto- und Profil-IDs an Google übergeben und diese beim Abrufen eines Kaufs zurückerhalten.

Verwenden Sie die setObfuscatedAccountId() und setObfuscatedProfileId() Parameter in BillingFlowParams und rufen Sie sie mit der getAccountIdentifiers() Methode im Purchase Objekt ab.

Metadaten mit einem Kauf verknüpfen

Google empfiehlt, Metadaten zu einem Kauf auf einem sicheren Backend-Server zu speichern, den Sie verwalten. Diese Kaufmetadaten sollten mit dem Kauf-Token verknüpft werden, das Sie mit der getPurchaseToken Methode im Purchase Objekt erhalten. Diese Daten können beibehalten werden, indem Sie das Kauf-Token und die Metadaten an Ihr Backend übergeben, wenn Ihr PurchasesUpdatedListener nach einem erfolgreichen Kauf aufgerufen wird.

Damit Metadaten auch bei Unterbrechungen des Kaufvorgangs verknüpft werden, empfiehlt Google, die Metadaten vor dem Starten des Kaufdialogs auf Ihrem Backend-Server zu speichern und sie mit der Konto-ID des Nutzers, der gekauften Artikel-ID und dem aktuellen Zeitstempel zu verknüpfen.

Wenn der Kaufvorgang unterbrochen wird, bevor Ihr PurchasesUpdatedListener aufgerufen wird, erkennt Ihre App den Kauf, sobald sie fortgesetzt wird und BillingClient.queryPurchasesAsync()aufruft. Sie können dann die Werte, die Sie mit den Methoden Purchase des Objekts getPurchaseTime(), getSku(), und getPurchaseToken() abgerufen haben, an Ihren Backend-Server senden, um Metadaten zu suchen, die Metadaten mit dem Kauf-Token zu verknüpfen und den Kauf weiter zu verarbeiten. Der Zeitstempel, den Sie ursprünglich gespeichert haben, stimmt nicht genau mit dem Wert aus Purchase des Objekts getPurchaseTime() überein. Sie müssen die Werte daher ungefähr vergleichen. Sie können beispielsweise prüfen, ob die Werte innerhalb eines bestimmten Zeitraums liegen.