2016-02-13 4 views
46

Das Freigeben von Aktionscodes für In-App-Käufe scheint zu verhindern, dass eine App die Kaufbestätigung für Remote-Server wiederholt durchführt! In-App-Kauf-Aktionscodes lösen die Remote-Server-Verifizierung?

Wenn ein promo code für einen In-App-Kauf verwendet wird (die PURCHASES_UPDATED Broadcast), wird es vollständig umgeht den Kaufvorgang, so dass die App keine Chance hat ein "developerPayload", für die Fernüberprüfung verwendet zu liefern.

Später, wenn der App Anruf getPurchases() zu bekommen/Besitzer Produkte zu überprüfen, die purchase data für Promo-Käufe keine "developerPayload" natürlich enthalten, aber weder ein "orderId", auch nützlich für die Fernüberprüfung der Google Play Developer API verwenden.

Wie soll eine App In-App-Käufe mit Promo-Codes überprüfen?

Die Möglichkeit, über die Google Play Store-App/Website Promocodes einzulösen und damit den Kaufvorgang zu umgehen, scheint ein großes Versehen zu sein, das nicht möglich sein sollte.

Ausgabe berichtet:

Ähnliche Beiträge:

+0

Einfache Problemumgehung, wenn ich verstehe, was Sie fragen: Holen Sie den Benutzer, Ihre App zu deinstallieren, legen Sie den Gutscheincode in den Einlösungsbereich des Play Store, und das wird die App mit der Funktion neu installieren. Ich gehe davon aus, dass Sie neuen Benutzern Promocodes geben werden, also wäre dies ein Randfall. –

Antwort

1

Dies ist in der Tat ein bekanntes Sicherheitsproblem seitens der Google-Seite. Daher werde ich eine Problemumgehung vorschlagen.

Zusammen mit Promo-Code die Benutzer mit Server-ID von Ihrem Server generiert, wenn Sie einen Promo-Kauf erhalten, validieren Sie die Server-ID und akzeptieren Sie den Kauf nur einmal.

Bei der Verwendung von Markt senden Sie die ID mit Referrer. Wenn Sie von App verwenden, haben Sie Ihre eigene Logik, um die Server-ID bereitzustellen.

Unter dem Strich gibt es keine andere Lösung als einige, wie die Benutzer mit einer Art ID identifizieren.