Z tego dokumentu dowiesz się, jak przeprowadzić migrację z Biblioteki płatności w Google Play (PBL) w wersji 6 lub 7 do PBL w wersji 8 oraz jak zintegrować ją z nowymi opcjonalnymi funkcjami subskrypcji.
Pełną listę zmian w wersji 8.0.0 znajdziesz w informacjach o wersji.
Przegląd
PBL 8 zawiera ulepszenia istniejących 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 kupowanych raz.
Zgodność wsteczna z uaktualnieniem PBL
Aby przeprowadzić migrację do PBL 8, musisz zaktualizować lub usunąć niektóre istniejące odwołania do interfejsu API w aplikacji, zgodnie z opisem w informacjach o wersji i w dalszej części tego przewodnika migracji.
Uaktualnianie z PBL 6 lub 7 do PBL 8
Aby uaktualnić PBL 6 lub 7 do 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). W aplikacji wprowadź zmiany związane z interfejsem API subskrypcji.
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 usunięty w PBL 8 Alternatywny interfejs API setOldSkuPurchaseToken setOldPurchaseToken setReplaceProrationMode setSubscriptionReplacementMode setReplaceSkusProrationMode setSubscriptionReplacementMode Zaktualizuj implementację metody
queryProductDetailsAsync.W sygnaturze metody
ProductDetailsResponseListener.onProductDetailsResponsewprowadzono zmianę, która wymaga zmian w aplikacji w przypadku implementacjiqueryProductDetailsAsync. Więcej informacji znajdziesz w artykule Wyświetlanie produktów dostępnych do kupienia.Obsłuż usunięte interfejsy API.
Uaktualnianie z
PBL 8 nie obsługuje już interfejsów API wymienionych w tabeli poniżej. Jeśli Twoja implementacja korzysta z któregokolwiek z tych usuniętych interfejsów API, w tabeli znajdziesz odpowiadające im alternatywne interfejsy API.
Wycofany wcześniej interfejs API usunięty w PBL 8 Alternatywny interfejs API Interfejsy API queryPurchaseHistoryAsync Zapoznaj się z artykułem Wyświetlanie historii zakupów querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (interfejs API bez parametrów) enablePendingPurchases(PendingPurchaseParams params)
Pamiętaj, że wycofany interfejs API enablePendingPurchases() jest funkcjonalnie równoważny zenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling AlternativeBillingListener UserChoiceBillingListener AlternativeChoiceDetails UserChoiceDetails Uaktualnianie z
W tabeli poniżej znajdziesz interfejsy API, 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 usunięty w PBL 8 Alternatywny interfejs API Interfejsy API queryPurchaseHistoryAsync Zapoznaj się z artykułem Wyświetlanie historii zakupów querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (interfejs API bez parametrów) enablePendingPurchases(PendingPurchaseParams params)
Pamiętaj, że wycofany interfejs API enablePendingPurchases() jest funkcjonalnie równoważny zenablePendingPurchases(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 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 planów przedpłaconych. Więcej informacji znajdziesz w artykule Obsługa subskrypcji i transakcji oczekujących.
Subskrypcje z wirtualnymi ratami. Więcej informacji znajdziesz w artykule Integracja subskrypcji z ratami.