Wie kann ich in meinem Spiel einen Kauf zum Deaktivieren von Anzeigen implementieren?


18

Ich möchte meinem Spiel einen "Keine Werbung" -Dienst hinzufügen, sodass Anzeigen mit einer einzigen Zahlung entfernt werden können. Wie kann ich das richtig umsetzen?

Wenn ich nur die Tatsache speichere, dass der Dienst lokal auf dem Gerät bezahlt wurde, müsste der Benutzer erneut bezahlen, wenn er die Anwendungsdaten auf irgendeine Weise löscht.


1
Der zweite Teil der Frage ist zu weit gefasst (ich sehe, dass Byte sie bereits herausgeschnitten hat). Der erste Teil der Frage ist unklar. Fragen Sie, ob dies moralisch oder ethisch in Ordnung ist? Oder fragen Sie, wie Sie die Tatsache speichern können, dass der Dienst auf dem Gerät bezahlt wurde?

1
Im Moment gehe ich nur davon aus, dass Sie fragen, wie, da dies die einzige Möglichkeit ist, die Frage thematisch aus der Ferne zu interpretieren.

Antworten:


29

Wenn Sie die In-App-Kauf-APIs von Google Play verwenden, um den Kauf von "Deaktivieren von Anzeigen" zu implementieren, wird dies im Wesentlichen für Sie erledigt. Sie möchten ein nicht-konsumierbares Produkt erstellen , das Benutzer erwerben können. Nicht verbrauchbare Produkte stellen im Wesentlichen einen dauerhaften Vorteil dar oder werden freigeschaltet. Solche Käufe können vom Benutzer wiederhergestellt werden, um die Handys zu löschen / zu reinigen / neu zu kaufen, sodass sie die Deaktivierung der Anzeige niemals erneut kaufen müssen.

Diese Seite enthält detaillierte Anweisungen zur Integration der IAP-API in Ihr Spiel. Die Schritte sind im Wesentlichen:

  • Fügen Sie die Bibliothek Ihrem Projekt hinzu und aktualisieren Sie Ihre Manifestdateien.
  • Binden an IInAppBillingServiceüber eine Dienstverbindung.
  • Senden und empfangen Sie die entsprechenden Daten an den Service über diese Schnittstelle ( getSkuDetailsum die Liste der verfügbaren Produkte getBuyIntentabzurufen, die Kauftransaktion zu starten usw.).

Sie müssen außerdem über testen, getPurchasesob ein Nutzer den Artikel "Anzeigen deaktivieren" gekauft hat (und in diesem Fall die Anzeigen tatsächlich deaktivieren).

Sie erstellen den eigentlichen Artikel zum Deaktivieren von Anzeigen über Ihre Google Play-Entwicklerkonsole.


Warten Sie, Google weiß im Voraus, ob eine App IAPs "verbrauchbar" hat oder nicht. Das sollten sie dann im Laden wirklich verraten; "Hat In-App-Käufe" könnte alles bedeuten.
Random832

3
@ Random832 Nein, das glaube ich nicht. Es weiß nur, ob es sich bei einem Produkt um ein Abonnement handelt oder nicht. Sie können eine "consumePurchase" -Anforderung für jedes Nicht-Abonnement-Produkt senden. Es ist nicht das Produkt selbst, das konsumiert werden kann. Ich denke, sie könnten theoretisch versuchen, Ihre Binärdatei zu scannen und nach Aufrufen für diese Schnittstelle zu suchen, aber ich bezweifle, dass sie sich darum kümmern.

1
Vielleicht ist es kein Zufall, dass IAP und API Anagramme voneinander sind.
ArtOfCode

Ich drehe mir die Zunge und versuche, IAP API auszusprechen ...
StorymasterQ

10

Wenn Sie die Tools von Google Play nicht wie in Joshs Antwort verwenden (ich empfehle jedoch, diese Tools zu verwenden). Sie müssten diese Informationen selbst verwalten.

Sie möchten vermeiden, dass etwas lokal auf dem Gerät des Benutzers gespeichert wird. Benutzer möchten nicht zahlen müssen, um Anzeigen pro Gerät oder pro Installation zu entfernen.

Sie müssen eine Datenbank mit bezahlten Benutzern verwalten. Beim Start (jedes Mal, wenn sie die Entfernung von Anzeigen auf einem anderen Gerät erwerben) überprüft Ihre Anwendung die Datenbank. Wenn das Benutzerkonto gefunden wird, deaktivieren Sie die Anzeigen für diese Installation dauerhaft. Die Nutzerkontodaten sollten für den Nutzer eindeutig sein, im Idealfall das Google-Konto, mit dem er die Entfernung der Anzeige gekauft hat.

Wenn ein Nutzer die Entfernung von Anzeigen erwirbt, fügen Sie der Datenbank seine Kontoinformationen hinzu und deaktivieren seine Anzeigen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.