Dane dewelopera były w przeszłości wykorzystywane do różnych celów, m.in. do zapobiegania oszustwom i przypisywania zakupów do właściwego użytkownika. W wersjach 2.2 i nowszych Biblioteki płatności w Google Play przypadki użycia, które wcześniej opierały się na danych dewelopera, są teraz w pełni obsługiwane w innych częściach biblioteki.
W związku z tym wycofaliśmy dane dewelopera, zaczynając od wersji 2.2 Biblioteki płatności w Google Play. Metody powiązane z danymi dewelopera zostały wycofane w wersji 2.2 i usunięte w wersji 3.0. Pamiętaj, że Twoja aplikacja może nadal pobierać dane dewelopera w przypadku zakupów dokonanych przy użyciu poprzednich wersji biblioteki lub AIDL.
Szczegółową listę zmian znajdziesz w informacjach o wersji 2.2 Biblioteki płatności w Google Play. oraz w informacjach o wersji 3.0 Biblioteki płatności w Google Play.
Weryfikacja zakupów
Aby mieć pewność, że zakupy są autentyczne, a nie sfałszowane lub odtworzone, Google zaleca
używanie tokena zakupu (uzyskanego za pomocą
getPurchaseToken()
metody w obiekcie
Purchase) wraz
z interfejsami API dewelopera Google Play do weryfikowania autentyczności zakupów.
Więcej informacji znajdziesz w artykule
Zapobieganie oszustwom i nadużyciom.
Atrybucja zakupu
Wiele aplikacji, zwłaszcza gier, musi mieć pewność, że zakup jest prawidłowo przypisany do postaci/awataru w grze lub profilu użytkownika w aplikacji, który zainicjował zakup. Od wersji 2.2 Biblioteki płatności w Google Play Twoja aplikacja może przekazywać do Google zaciemnione identyfikatory konta i profilu podczas otwierania okna zakupu oraz otrzymywać je z powrotem podczas pobierania zakupu.
Użyj
setObfuscatedAccountId()
i
setObfuscatedProfileId()
parametrów w
BillingFlowParams
i pobierz je za pomocą metody
getAccountIdentifiers()
w obiekcie
Purchase.
Powiązywanie metadanych z zakupem
Google zaleca przechowywanie metadanych zakupu na bezpiecznym serwerze backendowym, którym zarządzasz. Te metadane zakupu powinny być powiązane z
tokenem zakupu uzyskanym za pomocą
getPurchaseToken
metody w obiekcie Purchase. Te dane można utrwalić, przekazując token zakupu i metadane
do backendu, gdy po udanym zakupie zostanie wywołana metoda
PurchasesUpdatedListener.
Aby mieć pewność, że metadane są powiązane w przypadku przerwania procesu zakupu, Google zaleca przechowywanie metadanych na serwerze backendowym przed otwarciem okna zakupu i powiązanie ich z identyfikatorem konta użytkownika, kupowanym SKU i bieżącym znacznikiem czasu.
Jeśli proces zakupu zostanie przerwany, zanim zostanie wywołana metoda
PurchasesUpdatedListener
, Twoja aplikacja wykryje zakup, gdy zostanie wznowiona i wywoła metodę
BillingClient.queryPurchasesAsync().
Następnie możesz wysłać wartości pobrane z obiektu Purchase
getPurchaseTime(),
getSku(),
i getPurchaseToken()
metod na serwer backendowy, aby wyszukać metadane, powiązać je
z tokenem zakupu i kontynuować przetwarzanie zakupu. Pamiętaj, że
znacznik czasu, który został pierwotnie zapisany, nie będzie dokładnie odpowiadać wartości z obiektu Purchase
getPurchaseTime(),
więc musisz je porównać w przybliżeniu. Możesz na przykład sprawdzić, czy wartości mieszczą się w określonym przedziale czasu.