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, setReplaceProrationMode i setReplaceSkusProrationMode zostały usunięte.
- Zaktualizuj
setOldSkuPurchaseTokendosetOldPurchaseToken. - Zaktualizuj
setReplaceProrationModedosetSubscriptionReplacementMode. - Zaktualizuj
setReplaceSkusProrationModedosetSubscriptionReplacementMode.
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_TIMEOUT i SERVICE_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, AlternativeBillingListener i AlternativeChoiceDetails.
Deweloperzy powinni zamiast tego używać funkcji BillingClient.Builder.enableUserChoiceBilling() z parametrami UserChoiceBillingListener i UserChoiceDetails 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, setReplaceProrationMode i setReplaceSkusProrationMode zostały usunięte.
- Zaktualizuj
setOldSkuPurchaseTokendosetOldPurchaseToken. - Zaktualizuj
setReplaceProrationModedosetSubscriptionReplacementMode. - Zaktualizuj
setReplaceSkusProrationModedosetSubscriptionReplacementMode.
Obsługa usuniętych interfejsów API do rozliczeń alternatywnych
Usunięto: BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListener i AlternativeChoiceDetails.
Deweloperzy powinni zamiast tego używać funkcji BillingClient.Builder.enableUserChoiceBilling() z parametrami UserChoiceBillingListener i UserChoiceDetails 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.