Z tego dokumentu dowiesz się, jak przejść z Biblioteki płatności w Google Play (PBL) w wersji 6 lub 7 na wersję 8 oraz jak zintegrować nowe opcjonalne funkcje subskrypcji.
Pełną listę zmian w wersji 8.0.0 znajdziesz w informacjach o wersji.
Umiejętności związane z Androidem
Wyświetl na GitHubieUaktualnianie Biblioteki płatności w Play
android skills add play-billing-library-version-upgradeHelp me upgrade my Play Billing Library implementation.Przegląd
PBL 8 zawiera ulepszenia istniejących interfejsów API oraz usunięte wcześniej wycofane interfejsy API. Ta wersja biblioteki zawiera też nowe interfejsy API do produktów kupowanych raz.
Zgodność wsteczna na potrzeby uaktualnienia PBL
Aby przejść na PBL 8, musisz zaktualizować lub usunąć niektóre z istniejących odwołań do interfejsu API w aplikacji, zgodnie z opisem w informacjach o wersji i w dalszej części tego przewodnika po migracji.
Przejście z PBL 6 lub 7 na PBL 8
Aby przejść z PBL 6 lub 7 na PBL 8, wykonaj te czynności:
Zaktualizuj wersję zależności Biblioteki płatności w Play w pliku
build.gradleaplikacji.dependencies { def billingVersion = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }(dotyczy tylko uaktualnienia z PBL 6 do PBL 8). Obsługuj zmiany w interfejsie API związane z subskrypcjami w aplikacji.
W tabeli poniżej znajdziesz interfejsy API związane z subskrypcjami, które zostały usunięte w PBL 8, oraz odpowiadające im alternatywne interfejsy API, których musisz używać w aplikacji.
Wycofany wcześniej interfejs API został usunięty w PBL 8 Alternatywny interfejs API do użycia setOldSkuPurchaseToken setOldPurchaseToken setReplaceProrationMode setSubscriptionReplacementMode setReplaceSkusProrationMode setSubscriptionReplacementMode Zaktualizuj implementację metody
queryProductDetailsAsync.Zmieniła się sygnatura metody
ProductDetailsResponseListener.onProductDetailsResponse, co wymaga wprowadzenia zmian w aplikacji w celu implementacjiqueryProductDetailsAsync. Więcej informacji znajdziesz w artykule Wyświetlanie dostępności produktów do kupienia.Obsługa usuniętych interfejsów 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.
Wycofany wcześniej interfejs API został usunięty w PBL 8 Alternatywny interfejs API do użycia interfejsy API queryPurchaseHistoryAsync Zobacz Sprawdzanie historii zakupów. querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (interfejs API bez parametrów) enablePendingPurchases(PendingPurchaseParams params)
Pamiętaj, że wycofana metoda enablePendingPurchases() jest funkcjonalnie równoważna metodzieenablePendingPurchases(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 usunięte w PBL 8 oraz odpowiadające im alternatywne interfejsy API, których musisz używać w aplikacji.
Wycofany wcześniej interfejs API został usunięty w PBL 8 Alternatywny interfejs API do użycia interfejsy API queryPurchaseHistoryAsync Zobacz Sprawdzanie historii zakupów. querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (interfejs API bez parametrów) enablePendingPurchases(PendingPurchaseParams params)
Pamiętaj, że wycofana metoda enablePendingPurchases() jest funkcjonalnie równoważna metodzieenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (Zalecane) Włącz automatyczne ponowne łączenie z usługą.
Biblioteka płatności w Play może spróbować automatycznie ponownie nawiązać połączenie z usługą, jeśli wywołanie interfejsu API zostanie wykonane, gdy usługa jest odłączona. Więcej informacji znajdziesz w artykule o włączaniu automatycznego ponownego łączenia z usługą.
Zmiany opcjonalne.
Obsługuj oczekujące zakupy w przypadku abonamentów przedpłaconych. Więcej informacji znajdziesz w artykule Obsługa subskrypcji i oczekujących transakcji.
Subskrypcje z wirtualnymi ratami. Więcej informacji znajdziesz w artykule Integracja subskrypcji ratalnych.