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 7 oraz jak zintegrować ją z nowymi opcjonalnymi funkcjami 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 umożliwiają płacenie na raty oraz obsługę oczekujących zakupów przedpłaconych subskrypcji.

Zgodna wstecznie aktualizacja Biblioteki płatności w Play

Wszystkie nowe interfejsy API Biblioteki płatności w Google Play 7 są opcjonalne i nie muszą w tym celu wprowadzać żadnych zmian w interfejsie API.

Aby przeprowadzić migrację, musisz zaktualizować odniesienia do interfejsów API i usunąć z aplikacji określone interfejsy API w sposób opisany w informacjach o wersji oraz w dalszej części tego przewodnika po migracji.

Uaktualnienie z PBL 5 do PBL 7

W poniższych sekcjach opisano, 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 odwołania do interfejsu API w sposób opisany w kolejnych sekcjach.

Zmienianie zakupów subskrypcji użytkownika

Biblioteka płatności w Google Play w wersji 5 i starszych używała narzędzia ProrationMode do wprowadzania zmian w zakupach subskrypcji przez użytkowników, takich jak przejście na wyższą lub niższą wersję usługi. 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. Inne opcje 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.

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

Zaktualizowano również kody SERVICE_TIMEOUT i SERVICE_UNAVAILABLE.

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

Obsługa oczekujących transakcji

Biblioteka płatności w Google Play nie tworzy już identyfikatorów oczekujących zakupów. W przypadku takich zakupów identyfikator zamówienia jest wypełniany po przeniesieniu zakupu do stanu PURCHASED. Dopilnuj, aby integracja wymagała identyfikatora zamówienia, dopiero gdy transakcja zostanie w pełni zakończona. Nadal możesz używać tokena zakupu na potrzeby swoich danych.

Więcej informacji o obsłudze oczekujących zakupów znajdziesz w przewodniku po integracji Biblioteki płatności w Play i 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. Deweloperzy powinni zamiast tego używać BillingClient.Builder.enableUserChoiceBilling() z UserChoiceBillingListener i UserChoiceDetails w wywołaniu zwrotnym detektora.

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

Zmiany opcjonalne

PBL 7 zawiera dwa nowe opcjonalne interfejsy API.

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

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

Subskrypcje ratalne

Zobacz przewodnik po integrowaniu subskrypcji ratalnych.

Uaktualnienie z PBL 6 do PBL 7

W poniższych sekcjach opisano, 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 odwołania do interfejsu API w sposób opisany w kolejnych sekcjach.

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. Deweloperzy powinni zamiast tego używać BillingClient.Builder.enableUserChoiceBilling() z UserChoiceBillingListener i UserChoiceDetails w wywołaniu zwrotnym detektora.

Zmiany opcjonalne

PBL 7 zawiera dwa nowe opcjonalne interfejsy API.

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

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

Subskrypcje ratalne

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