Przechodzenie z wersji 5 lub 6 do Biblioteki płatności w Google Play 7

Z tego dokumentu dowiesz się, jak przejść z Biblioteki płatności w Google Play w wersji 5 lub 6 na Bibliotekę płatności w Google Play w wersji 7 oraz jak zintegrować ją z nowymi opcjonalnymi funkcjami subskrypcji.

Pełną listę zmian w wersji 7.0.0 znajdziesz w informacjach o wersji.

Omówienie

Biblioteka Płatności w Google Play 7 usprawnia obsługę płatności w przypadku istniejących funkcji subskrypcji. Te opcjonalne ulepszenia dodają obsługę płatności ratalnych oraz obsługę oczekujących zakupów w przypadku abonamentów przedpłaconych.

Uaktualnienie Biblioteki płatności w Play zapewniające zgodność wsteczną

Wszystkie nowe interfejsy API Biblioteki płatności w Google Play 7 są opcjonalne i deweloperzy nie muszą wprowadzać żadnych zmian w interfejsie API, aby dokonać aktualizacji.

Aby przeprowadzić migrację, musisz zaktualizować odwołania do interfejsu API i usunąć z aplikacji niektóre interfejsy API zgodnie z opisem w informacjach o wersji i w dalszej części tego przewodnika migracji.

Przejście z PBL 5 na PBL 7

W sekcjach poniżej znajdziesz opis procesu przejścia z PBL 5 na PBL 7.

Aktualizowanie Biblioteki płatności w Google Play

Zaktualizuj wersję zależności Biblioteki płatności w Play w pliku build.gradle aplikacji.

dependencies {
    def billingVersion = 7.0.0

    implementation "com.android.billingclient:billing:$billingVersion"
}

Następnie zaktualizuj odwołania do interfejsu API zgodnie z opisem w sekcjach poniżej.

Zmienianie zakupów subskrypcji użytkownika

Biblioteka płatności w Play w wersji 5 i starszych używała ProrationMode do wprowadzania zmian w zakupach subskrypcji użytkownika, takich jak uaktualnienia lub obniżenia wersji. Ten interfejs API został usunięty i zastąpiony interfejsem ReplacementMode.

Obsługa zmian cen subskrypcji

Wycofany wcześniej interfejs API launchPriceConfirmationFlow został usunięty. Alternatywne rozwiązania znajdziesz w przewodniku po zmianach cen.

Obsługa zmian w interfejsie API związanych z subskrypcjami

Wycofane wcześniej interfejsy API setOldSkuPurchaseToken, setReplaceProrationModesetReplaceSkusProrationMode zostały usunięte.

Obsługa błędów Biblioteki płatności w Play

Nowy kod NETWORK_ERROR oznacza problemy z połączeniem sieciowym między urządzeniem użytkownika a systemem Google Play.

Zaktualizowaliśmy też kody SERVICE_TIMEOUTSERVICE_UNAVAILABLE.

Więcej informacji znajdziesz w artykule Obsługa kodów odpowiedzi BillingResult.

Obsługa transakcji oczekujących

Biblioteka płatności w Play nie tworzy już identyfikatora zamówienia w przypadku oczekujących zakupów. W przypadku tych zakupów identyfikator zamówienia jest wypełniany po przeniesieniu zakupu do stanu PURCHASED. Upewnij się, że integracja oczekuje identyfikatora zamówienia dopiero po zakończeniu transakcji. Możesz nadal używać tokena zakupu do celów dokumentacyjnych.

Więcej informacji o obsłudze oczekujących zakupów znajdziesz w przewodniku po integracji z Biblioteką Płatności w Play i w przewodniku po zarządzaniu cyklem życia zakupu.

Obsługa usuniętych interfejsów API do rozliczeń alternatywnych

Usunięto: BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListenerAlternativeChoiceDetails. Deweloperzy powinni zamiast tego używać funkcji BillingClient.Builder.enableUserChoiceBilling() z parametrami UserChoiceBillingListenerUserChoiceDetails w wywołaniu zwrotnym detektora.

Ta aktualizacja polega na zmianie nazw wycofanych interfejsów API bez zmiany ich działania.

Opcjonalne zmiany

PBL 7 zawiera 2 nowe opcjonalne interfejsy API.

Obsługa oczekujących zakupów w przypadku abonamentów przedpłaconych

Zapoznaj się z przewodnikiem Obsługa subskrypcji i transakcji oczekujących.

Subskrypcje wirtualnych rat

Zapoznaj się z przewodnikiem Integracja subskrypcji ratalnych.

Przejście z PBL 6 na PBL 7

W sekcjach poniżej znajdziesz opis procesu przejścia z PBL 6 na PBL 7.

Aktualizowanie Biblioteki płatności w Google Play

Zaktualizuj wersję zależności Biblioteki płatności w Play w pliku build.gradle aplikacji.

dependencies {
    def billingVersion = 7.0.0

    implementation "com.android.billingclient:billing:$billingVersion"
}

Następnie zaktualizuj odwołania do interfejsu API zgodnie z opisem w sekcjach poniżej.

Obsługa zmian w interfejsie API związanych z subskrypcjami

Wycofane wcześniej interfejsy API setOldSkuPurchaseToken, setReplaceProrationModesetReplaceSkusProrationMode zostały usunięte.

Obsługa usuniętych interfejsów API do rozliczeń alternatywnych

Usunięto: BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListenerAlternativeChoiceDetails. Deweloperzy powinni zamiast tego używać funkcji BillingClient.Builder.enableUserChoiceBilling() z parametrami UserChoiceBillingListenerUserChoiceDetails w wywołaniu zwrotnym detektora.

Opcjonalne zmiany

PBL 7 zawiera 2 nowe opcjonalne interfejsy API.

Obsługa oczekujących zakupów w przypadku abonamentów przedpłaconych

Zapoznaj się z przewodnikiem Obsługa subskrypcji i transakcji oczekujących.

Subskrypcje wirtualnych rat

Informacje o tym, jak zintegrować te zmiany z aplikacją, znajdziesz w przewodniku Integracja subskrypcji ratalnych.