Z tego dokumentu dowiesz się, jak przeprowadzić migrację z biblioteki płatności w Google Play (PBL) w wersji 6 lub 7 do PBL 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 dla produktów jednorazowych.
Zgodność wsteczna w przypadku uaktualnienia PBL
Aby przejść na PBL 8, musisz zaktualizować lub usunąć z aplikacji niektóre istniejące odwołania do interfejsu API, jak opisano w informacjach o wersji i w dalszej części tego przewodnika po migracji.
Przechodzenie 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 Google Play w pliku
build.gradle
aplikacji.dependencies { def billingVersion = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }
(Dotyczy tylko uaktualnienia z PBL 6 do PBL 8). Obsługa zmian w interfejsie API związanych 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 swojej 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
.Nastąpiła zmiana sygnatury metody
ProductDetailsResponseListener.onProductDetailsResponse
, która wymaga wprowadzenia zmian w aplikacji w celu implementacjiqueryProductDetailsAsync
. Więcej informacji znajdziesz w artykule Wyświetlanie produktów dostępnych 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 Twoje wdrożenie korzysta z któregoś z tych usuniętych interfejsów API, w tabeli znajdziesz odpowiednie interfejsy API, które możesz zastosować zamiast nich.
Wycofany wcześniej interfejs API został usunięty w PBL 8 Alternatywny interfejs API do użycia queryPurchaseHistoryAsync API Zobacz Historia zakupów querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (interfejs API bez parametrów) enablePendingPurchases(PendingPurchaseParams params)
Pamiętaj, że wycofana funkcja enablePendingPurchases() jest funkcjonalnie równoważna z funkcjąenablePendingPurchases(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 listę interfejsów API, które zostały usunięte w PBL 8, oraz odpowiadające im alternatywne interfejsy API, których musisz używać w swojej aplikacji.
Wycofany wcześniej interfejs API został usunięty w PBL 8 Alternatywny interfejs API do użycia queryPurchaseHistoryAsync API Zobacz Historia zakupów querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (interfejs API bez parametrów) enablePendingPurchases(PendingPurchaseParams params)
Pamiętaj, że wycofana funkcja enablePendingPurchases() jest funkcjonalnie równoważna z funkcjąenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
.queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (Zalecane) Włącz automatyczne ponowne łączenie z usługą.
Biblioteka rozliczeniowa Play może automatycznie próbować 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 Włączanie automatycznego ponownego łączenia z usługą.
Opcjonalne zmiany.
Obsługa oczekujących zakupów w przypadku abonamentów przedpłaconych. Więcej informacji znajdziesz w artykule Obsługa subskrypcji i oczekujących transakcji.
Subskrypcje wirtualnych rat. Więcej informacji znajdziesz w artykule Integracja subskrypcji ratalnych.