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.
- Zaktualizuj
setOldSkuPurchaseTokendosetOldPurchaseToken. - Zaktualizuj
setReplaceProrationModedosetSubscriptionReplacementMode. - Zaktualizuj
setReplaceSkusProrationModedosetSubscriptionReplacementMode.
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.
- Zaktualizuj
setOldSkuPurchaseTokendosetOldPurchaseToken. - Zaktualizuj
setReplaceProrationModedosetSubscriptionReplacementMode. - Zaktualizuj
setReplaceSkusProrationModedosetSubscriptionReplacementMode.
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.