Wir möchten unseren Nutzern die Möglichkeit geben, mit jeder im Android Market gekauften App einen Dienst auf einem unserer Server zu aktivieren, um sicherzustellen, dass der Nutzer die App wirklich gekauft hat.
Zu diesem Zweck evaluieren wir die Verwendung der API für die Benachrichtigungshistorie von Google Checkout, mit der wir den Status einer Checkout-Auftrags-ID von unserem Server abfragen können.
Jetzt ist das Problem, dass wir nicht wissen, wie man die Kaufauftrags-ID von der App selbst erhält.
Mit der neuen API für In-App-Käufe können wir die Kaufauftrags-ID für jeden einzelnen In-App-Kauf erhalten, jedoch nicht für den App-Kauf.
Eine bessere Lösung für die Bestätigung eines App-Kaufs ist der Market Licensing Verification Service .
Der Zweck dieser Bibliothek besteht darin, dass Ihre App bestätigt, dass der Nutzer die betreffende App tatsächlich gekauft hat.
Um die Transaktion von Ihrem externen Server aus zu überprüfen, können Sie die Techniken verwenden, die unter der Überschrift "Lizenzüberprüfung auf einen vertrauenswürdigen Server entlasten" auf dieser Blogbeitrag .
Im Wesentlichen wird vorgeschlagen, dass Sie eine Kopie der Lizenzserverantwort, die in der ResponseData-Klasse enthalten ist, zusammen mit ihrer Signatur an Ihren Online-Server senden. Ihr Server kann dann überprüfen, ob der Benutzer lizenziert ist.
Da die Lizenzantwort kryptografisch signiert ist, kann Ihr Server mithilfe des in der Android Market-Publisher-Konsole gespeicherten öffentlichen RSA-Schlüssels prüfen, ob die Lizenzantwort manipuliert wurde.
Tags und Links android in-app-purchase google-checkout