In-App-Artikel erkennen und ausliefern

In diesem Thema wird beschrieben, wie Sie In-App-Produkte in Ihrem Spiel erkennen und bereitstellen, nachdem Spieler sie mit Play Points in der Google Play App gekauft haben.

Sobald Nutzer ihre Play Points in der Google Play App gegen ein In-App-Produkt eingetauscht haben, sollten die Artikel sofort in Ihrem Spiel bereitgestellt werden. Im Folgenden wird gezeigt, wie ein Nutzer Artikel mit Play Points kauft.

1. Klicken Sie auf Play Points. 1. Klicken Sie auf den Tab Verwendung, um Elemente aufzurufen. 2. Wählen Sie einen Artikel aus und klicken Sie auf Punkte verwenden, um den Kauf abzuschließen. 3. Sie erhalten den Artikel.
Screenshot von TBD Screenshot von TBD Screenshot von TBD Screenshot von TBD

Im Beispiel wird das Spiel nicht ausgeführt, während das Produkt gekauft wird. Nutzer können Play-Punkte auch gegen Produkte eintauschen, wenn das Spiel nicht auf ihrem Gerät installiert ist. Daher müssen Sie Ihr Spiel so gestalten, dass die Lieferung von In-App-Artikeln auch außerhalb des In-Game-Shops möglich ist.

Vorbereitung

Bevor Sie ein In-App-Produkt erkennen und bereitstellen können, müssen Sie das Produkt und Play Points-Promotionen erstellen.

Anforderungen an die Übermittlung

Wenn Sie In-App-Produkte in Ihrem Spiel über eine Play Points-Promotion anbieten, müssen Sie die Anforderungen in diesem Abschnitt einhalten.

Lieferzeitpunkt

Wenn ein Spieler Play Points gegen ein In-App-Produkt eintauscht, müssen Sie den Artikel sofort bereitstellen, ohne dass der Spieler das Spiel neu starten muss. In Fällen, in denen Spielinhalte vorher abgeschlossen werden müssen, z. B. ein Tutorial, sollte der Artikel sofort danach geliefert werden.

Zustellbenachrichtigung

Wenn ein Nutzer nach dem Kauf eines In‑App-Produkts außerhalb des Spiels zu Ihrem Spiel zurückkehrt, müssen Sie eine Bestätigung anzeigen, dass das Produkt im Spiel erfolgreich gewährt wurde. Die Nachricht sollte als Pop-up-Dialogfeld oder als Nachricht im Spiel angezeigt werden. Nutzer sollten keine zusätzlichen Schritte unternehmen müssen, um den Artikel zu erhalten.

So sieht das erforderliche Format für die Mitteilung aus:

  • Eine klare Nachricht, dass der Artikel eingegangen ist.

  • Nennen Sie den Artikelnamen deutlich und verweisen Sie auf „Play-Punkte“, damit Nutzer ihn von anderen Inhalten unterscheiden können, die sie erhalten.

  • Der Name des Artikels muss auch die richtige Stückelung des Artikels enthalten, wenn es ähnliche Artikel mit mehreren Stückelungen gibt.

  • Das Pop-up-Dialogfeld, die Nachricht oder die Benachrichtigung im Spiel sollte für den Nutzer sichtbar sein, bis er auf eine Bestätigung wie Weiter oder OK klickt. Es sollte keine Schaltfläche zum Abbrechen geben, da diese Nachricht nur dazu dient, Nutzer über den Artikel zu informieren, den sie im Spiel erhalten haben. Wenn keine Bestätigungsschaltfläche vorhanden ist, sollte die Meldung mindestens 3 Sekunden lang für Nutzer sichtbar sein, bevor sie verschwindet. So wird sichergestellt, dass Nutzer wissen, dass sie ihren Artikel erhalten haben.

Beispiel für eine Nachricht:

„Artikel erhalten! Du hast gerade 100 Juwelen mit Play Points erhalten. Weiter.“

Nutzer sollten eine Animation oder eine visuelle Bestätigung sehen, die die Erhöhung ihres Guthabens an In-Game-Währung anzeigt. Wenn es sich bei dem Artikel um einen dauerhaften oder verbrauchbaren In-App-Artikel handelt, sollten Nutzer dorthin weitergeleitet werden, wo der Artikel im Spiel freigeschaltet wurde oder verfügbar ist.

Artikel erkennen, die außerhalb des Spiels erhalten wurden

Wenn in Ihrem Spiel die Google Play Billing Library verwendet wird, müssen Sie die folgenden Änderungen vornehmen, um In-App-Produkte zu erkennen, die außerhalb des Spiels empfangen werden.

  1. Rufen Sie im onResume()-Callback Ihres Spiels die Methode queryPurchases() auf, um eine Liste der Artikel abzurufen und so zu ermitteln, welche nicht bestätigt wurden.

  2. Wenn Ihr Spiel einen Server hat, empfehlen wir dringend, den Kauf über den Server mit der Subscriptions and In-App Purchases API zu bestätigen.

  3. Wenn es Artikel gibt, die der Nutzer besitzt, aber nicht bestätigt hat, bestätigen Sie den Kauf entweder mit consumeAsync() für Verbrauchsmaterialien oder mit acknowledgePurchase() für nicht verbrauchbare Artikel.

  4. Gewähren Sie die Berechtigung für den gekauften Artikel im Spiel.

Erkennen von Artikeln, die im Splitscreen-Modus empfangen wurden

Wenn Ihr Spiel den Multi-Window-Modus unterstützt, können Nutzer Play Points einlösen und den Artikel erhalten, während die Play Store App und Ihr Spiel gleichzeitig ausgeführt werden. Der folgende Screenshot zeigt ein Beispiel:

Ein Screenshot, auf dem die Schaltfläche „Punkte einlösen“ während eines laufenden Spiels angezeigt wird.

So unterstützen Sie dieses Szenario mit der Google Play Billing Library:

  1. Google Play ruft die onPurchasesUpdated()-Methode auf, um Ihr Spiel darüber zu informieren, dass ein neues ausstehendes Element vorhanden ist.

  2. Wenn Ihr Spiel einen Server hat, empfehlen wir dringend, den Kauf über den Server mit der Subscriptions and In-App Purchases API zu bestätigen.

  3. Bestätigen Sie den Kauf entweder mit consumeAsync() für verbrauchbare Artikel oder mit acknowledgePurchase() für nicht verbrauchbare Artikel.

  4. Gewähren Sie die Berechtigung für den gekauften Artikel im Spiel.

Lieferbestätigung anzeigen

Wenn Nutzer Play-Punkte einlösen und einen Eintauschartikel erhalten, erwarten sie, dass im Spiel eine In-Game-Nachricht angezeigt wird oder sie auf andere Weise darüber informiert werden, dass das Spiel den Artikel korrekt empfangen und verarbeitet hat. Hier sind einige Optionen für die Lieferbestätigung:

  • Ein In-Game-Pop-up anzeigen

  • Die Nachricht muss in einem In-Game-Nachrichtenfeld angezeigt werden. Es muss deutlich darauf hingewiesen werden, dass sich im In-Game-Nachrichtenfeld eine neue Nachricht befindet.

  • Verwenden Sie eine Betriebssystembenachrichtigung.

Das Spiel kann sich in einem beliebigen Zustand befinden, wenn der Werbeartikel empfangen wird, einschließlich des Zustands, in dem es nicht auf dem Gerät installiert ist. Sie müssen Werbeartikel unabhängig vom Status des Spiels erkennen, wenn der Artikel empfangen wird. Es gibt jedoch einige Ausnahmen, in denen es akzeptabel sein kann, den Nutzer nicht sofort über den Erhalt des Artikels zu informieren. Beispiel:

  • Während des Spiels, wenn das Anzeigen einer Nachricht den Nutzer ablenken könnte. In diesem Fall müssen Sie den Nutzer nach Beendigung der Aktion benachrichtigen.

  • Während Zwischensequenzen, in denen eine Nachricht den Nutzer ablenken könnte. In diesem Fall müssen Sie den Nutzer nach der Zwischensequenz benachrichtigen.

  • Während des ersten Tutorials und der Einrichtung des Nutzers im Spiel. Wir empfehlen, neue Nutzer unmittelbar nach dem Öffnen des Spiels oder während der Ersteinrichtung über die Prämie zu informieren. Es ist jedoch akzeptabel, mit der Benachrichtigung des Nutzers zu warten, bis die Hauptspielsequenz verfügbar ist.

Wenn Ihre App mehrere Charaktere oder Konten hat, auf die der Artikel angewendet werden könnte, empfehlen wir, den Nutzer aufzufordern, das Konto auszuwählen, in dem die Werbeartikel empfangen werden sollen.

Berücksichtigen Sie die Nutzer, wenn Sie entscheiden, wann und wie Sie sie über Werbeartikel benachrichtigen. Wenn ein Nutzer nicht sofort eine Benachrichtigung erhält, kann es sein, dass er verwirrt ist, das Spiel beendet, den Kundensupport kontaktiert oder sich in den sozialen Medien darüber beschwert.

Updates für bestimmte Game-Engines

Hier sind einige Überlegungen für bestimmte Spiele-Engines:

  • Wenn Ihr Spiel mit Unity entwickelt wurde, sollten Sie prüfen, ob die von Ihnen verwendete IAP-Implementierung bereits Play Points-Angebote unterstützt.

  • Wenn Ihr Spiel mit Cocos2d-x oder Unreal Engine (C/C++) erstellt wurde, müssen Sie höchstwahrscheinlich den JNI-Code schreiben, der Java-APIs aus Ihrem C/C++-Code aufruft.

Best Practices für die serverseitige Implementierung

Dieser Abschnitt enthält serverseitige Best Practices für die Verwendung von Play Points-Promotions:

  • Wenn Sie Purchases.products: get auf Ihrem Server aufrufen, prüfen Sie anhand der productId-Werte, ob Sie Play-Prämienartikel und andere In-App-Produkte separat verarbeiten müssen.

  • Wenn Sie Inappproducts: list auf Ihrem Server verwenden, prüfen Sie, ob Sie Play-Prämien-Einlöseartikel von anderen In-App-Produkten durch productId-Werte trennen müssen.

  • Prüfen Sie anhand der folgenden Best Practices, ob Sie zusätzliche Änderungen vornehmen müssen:

Fehlerbehebung

Dieser Abschnitt enthält Empfehlungen für Szenarien, die zu Kundenanfragen führen können.

Mehrere Nutzerkonten

Wenn ein Nutzer mehrere Google-Konten auf seinem Gerät hat und Play Points im falschen Konto einlöst, kann Google die Artikel nicht auf die anderen Konten übertragen. Ebenso kann Ihre App das Element nicht durch Aufrufen der Methode getPurchases() übertragen. In diesem Fall sollten Sie dem Nutzer die In-App-Artikel manuell über Ihren Kundensupport zur Verfügung stellen.

Verspätete oder fehlende Artikel

Wenn Spieler Belohnungen mit Verzögerung erhalten oder gar nicht, finden Sie in der Google Play-Hilfe einen Leitfaden zur Fehlerbehebung bei In-App-Käufen.