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ć nowe opcjonalne funkcje subskrypcji.

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

Przegląd

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

Uaktualnienie Biblioteki płatności w Play zgodne wstecznie

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

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

Przejście z PBL 5 na PBL 7

W sekcjach poniżej opisujemy, jak przejść 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 dokumentację 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 metody ProrationMode do wprowadzania zmian w zakupach subskrypcji użytkownika, takich jak przejście na wyższą lub niższą wersję. Ten interfejs API został usunięty i zastąpiony przez 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, setReplaceProrationMode i setReplaceSkusProrationMode zostały usunięte.

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

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

Zaktualizowaliśmy też kody SERVICE_TIMEOUT i SERVICE_UNAVAILABLE.

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

Obsługa oczekujących transakcji

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 przejściu zakupu do stanu PURCHASED. Upewnij się, że integracja oczekuje identyfikatora zamówienia dopiero po zakończeniu transakcji. Nadal możesz używać tokena zakupu do celów ewidencyjnych.

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

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

Usunięto: BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListener i AlternativeChoiceDetails. Zamiast tego użyj BillingClient.Builder.enableUserChoiceBilling() z UserChoiceBillingListener i UserChoiceDetails w wywołaniu zwrotnym detektora.

Ta aktualizacja polega na zmianie nazwy wycofanych interfejsów API bez wprowadzania zmian w ich działaniu.

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 oczekujących transakcji.

Subskrypcje z wirtualnymi ratami

Zapoznaj się z przewodnikiem Integracja subskrypcji ratalnych.

Przejście z PBL 6 na PBL 7

W sekcjach poniżej opisujemy, jak przejść 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 dokumentację API zgodnie z opisem w sekcjach poniżej.

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

Wycofane wcześniej interfejsy API setOldSkuPurchaseToken, setReplaceProrationMode i setReplaceSkusProrationMode zostały usunięte.

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

Usunięto: BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListener i AlternativeChoiceDetails. Zamiast tego użyj BillingClient.Builder.enableUserChoiceBilling() z UserChoiceBillingListener i UserChoiceDetails w wywołaniu zwrotnym detektora.

Zmiany opcjonalne

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 oczekujących transakcji.

Subskrypcje z wirtualnymi ratami

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