Ładunek programisty

Ł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.