Ładunek dewelopera był w przeszłości używany do różnych celów, m.in. do zapobiegania oszustwom i przypisywania zakupów do odpowiednich użytkowników. Biblioteka płatności w Google Play w wersji 2.2 i nowszych pozwala w pełni obsługiwać zamierzone przypadki użycia, które wcześniej opierały się na ładunkach przeznaczonych dla programistów.
Przy obecnej obsłudze wycofaliśmy ładunek dla deweloperów, począwszy od wersji 2.2 Biblioteki płatności w Google Play. Metody powiązane z ładunkiem programisty zostały wycofane w wersji 2.2 i usunięte w wersji 3.0. Pamiętaj, że aplikacja może nadal pobierać ładunek dewelopera w przypadku zakupów dokonanych za pomocą poprzednich wersji biblioteki lub AI.
Szczegółową listę zmian znajdziesz w informacjach o wersji Biblioteki płatności w Google Play 2.2 i w Bibliotece płatności w Google Play w wersji 3.0.
Weryfikacja zakupów
Aby mieć pewność, że zakupy są autentyczne, a nie sfałszowane ani powtórzone, Google zaleca używanie tokena zakupu (uzyskiwanego z metody getPurchaseToken()
w obiekcie Purchase
) wraz z interfejsami Google Play Developer API w celu weryfikacji autentyczności zakupów.
Więcej informacji znajdziesz w artykule Zwalczanie oszustw i nadużyć.
Atrybucja zakupu
W wielu aplikacjach, zwłaszcza w grach, zakup musi być prawidłowo przypisany do postaci lub awatara w grze albo profilu użytkownika, który zainicjował zakup. Począwszy od Biblioteki płatności w Google Play 2.2, Twoja aplikacja może przekazywać do Google zaciemnione identyfikatory konta i profilu przy otwieraniu okna zakupu i zwracać je podczas pobierania informacji o zakupie.
Użyj parametrów setObfuscatedAccountId()
i setObfuscatedProfileId()
w BillingFlowParams
i pobierz je za pomocą metody getAccountIdentifiers()
w obiekcie Purchase
.
Powiązywanie metadanych z zakupem
Google zaleca przechowywanie metadanych zakupu na zabezpieczonym serwerze backendu. Te metadane zakupu powinny być powiązane z tokenem zakupu uzyskanym za pomocą metody getPurchaseToken
w obiekcie Purchase
. Aby zachować te dane, możesz przekazać token zakupu i metadane do backendu, gdy PurchasesUpdatedListener
zostanie wywołany po pomyślnym zakupie.
Aby zapewnić powiązanie metadanych w przypadku przerw w procesie zakupu, Google zaleca przechowywanie metadanych na serwerze backendu przed uruchomieniem okna zakupu i powiązanie ich z identyfikatorem konta użytkownika, kupowanym SKU i bieżącą sygnaturą czasową.
Jeśli proces zakupu zostanie przerwany przed wywołaniem PurchasesUpdatedListener
, aplikacja wykryje zakup po wznowieniu działania aplikacji i nawiązaniu połączenia z nią BillingClient.queryPurchasesAsync()
.
Następnie możesz wysłać wartości pobrane z metod getPurchaseTime()
, getSku()
i getPurchaseToken()
obiektu Purchase
do serwera backendu, aby wyszukać metadane, powiązać je z tokenem zakupu i kontynuować przetwarzanie zakupu. Pamiętaj, że zapisana przez Ciebie sygnatura czasowa nie będzie dokładnie odpowiadać wartości getPurchaseTime()
obiektu Purchase
, więc musisz porównać te dane w przybliżony sposób. Możesz na przykład sprawdzić, czy wartości mieszczą się w określonym przedziale czasu.