Przechodzenie z wersji 6 lub 7 na Bibliotekę płatności w Google Play w wersji 8

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.

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:

  1. Zaktualizuj wersję zależności Biblioteki płatności w Play w pliku build.gradle aplikacji.

    dependencies {
       def billingVersion = 8.0.0
       implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (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
  3. Zaktualizuj implementację metody queryProductDetailsAsync.

    Zmieniła się sygnatura metody ProductDetailsResponseListener.onProductDetailsResponse, co wymaga wprowadzenia zmian w aplikacji w celu implementacji queryProductDetailsAsync. Więcej informacji znajdziesz w artykule Wyświetlanie dostępności produktów do kupienia.

  4. 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 metodzie 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 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 metodzie enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync

  5. (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ą.

  6. Zmiany opcjonalne.