Z tego dokumentu dowiesz się, jak przejść z wersji 6 lub 7 biblioteki Google Play Billing Library (PBL) na wersję 8 oraz jak zintegrować ją z nowymi opcjonalnymi funkcjami subskrypcji.
Pełną listę zmian w wersji 8.0.0 znajdziesz w informacjach o wersji.
Omówienie
PBL 8 zawiera ulepszenia dotychczasowych interfejsów API oraz usunięcie wcześniej wycofanych interfejsów API. Ta wersja biblioteki zawiera też nowe interfejsy API do obsługi produktów jednorazowych.
Zgodność wsteczna w przypadku uaktualnienia PBL
Aby przejść na wersję PBL 8, musisz zaktualizować lub usunąć niektóre istniejące odwołania do interfejsu API w aplikacji zgodnie z opisem w notatkach do wersji i później w tym przewodniku.
Przechodzenie z wersji 6 lub 7 na wersję 8 PBL
Aby przejść z poziomu 6 lub 7 na poziom 8, wykonaj te czynności:
Zaktualizuj wersję zależności Biblioteki płatności w Google Play w pliku
build.gradle
aplikacji.dependencies { def billingVersion = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }
(dotyczy tylko przejścia z wersji PBL 6 na PBL 8). Obsługa zmian w interfejsie API związanych z subskrypcjami w aplikacji.
W tabeli poniżej znajdziesz interfejsy API związane z subskrypcją, które zostały usunięte w PBL 8, oraz odpowiadające im alternatywne interfejsy API, których musisz używać w swojej aplikacji.
Wcześniej wycofany interfejs API został usunięty w wersji PBL 8. Alternatywny interfejs API do użycia setOldSkuPurchaseToken setOldPurchaseToken setReplaceProrationMode setSubscriptionReplacementMode setReplaceSkusProrationMode setSubscriptionReplacementMode Zaktualizuj implementację metody
queryProductDetailsAsync
.Zmienił się podpis metody
ProductDetailsResponseListener.onProductDetailsResponse
, co wymaga wprowadzenia zmian w aplikacji, aby umożliwić implementacjęqueryProductDetailsAsync
. Więcej informacji znajdziesz w artykule Wyświetlanie produktów dostępnych do kupienia.Zarządzanie usuniętymi interfejsami API.
Przejdź na wyższą wersję
PBL 8 nie obsługuje już interfejsów API wymienionych w tabeli poniżej. Jeśli Twoja implementacja korzysta z któregoś z tych usuniętych interfejsów API, zapoznaj się z tabelą, aby znaleźć odpowiednie alternatywne interfejsy API.
Wcześniej wycofany interfejs API został usunięty w wersji PBL 8 Alternatywny interfejs API do użycia interfejsy queryPurchaseHistoryAsync API; Wyświetlanie historii zakupów querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (interfejs API bez parametrów) enablePendingPurchases(PendingPurchaseParams params)
Uwaga: wycofana funkcja enablePendingPurchases() jest funkcjonalnie równoważna funkcjienablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
.queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling AlternativeBillingListener UserChoiceBillingListener AlternativeChoiceDetails UserChoiceDetails Przejdź na wyższą wersję
W tabeli poniżej znajdziesz interfejsy API, które zostały usunięte w wersji 8 interfejsu PBL, oraz odpowiednie alternatywne interfejsy API, których musisz użyć w swojej aplikacji.
Wcześniej wycofany interfejs API został usunięty w wersji PBL 8 Alternatywny interfejs API do użycia interfejsy queryPurchaseHistoryAsync API; Wyświetlanie historii zakupów querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (interfejs API bez parametrów) enablePendingPurchases(PendingPurchaseParams params)
Uwaga: wycofana funkcja enablePendingPurchases() jest funkcjonalnie równoważna funkcjienablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
.queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (zalecane) Włącz automatyczne ponowne łączenie się z usługą.
Biblioteka płatności w Google Play może automatycznie ponownie nawiązać połączenie z usługą, jeśli wywołanie interfejsu API zostanie wykonane, gdy usługa jest rozłączona. Więcej informacji znajdziesz w artykule Włączanie automatycznego ponownego nawiązywania połączenia z usługą.
Opcjonalne zmiany.
Obsługa oczekujących zakupów w przypadku abonamentów z przedpłatą. Więcej informacji znajdziesz w artykule Zarządzanie subskrypcjami i oczekującymi transakcjami.
Subskrypcje z wirtualnymi ratami. Więcej informacji znajdziesz w artykule Integracja z subskrypcjami ratalnymi.