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

Z tego artykułu dowiesz się, jak przejść z Biblioteki płatności w Google Play (PBL) w wersji 6 lub 7 na PBL w wersji 8 oraz jak zintegrować nowe opcjonalne funkcje subskrypcji.

Pełną listę zmian w wersji 8.0.0 znajdziesz w [informacjach o wersji][1].

Przegląd

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 przeprowadzić migrację do PBL 8, musisz zaktualizować lub usunąć z aplikacji niektóre istniejące odwołania do interfejsu API, zgodnie z opisem w [informacjach o wersji][8] i w dalszej części tego przewodnika migracji.

Uaktualnianie z PBL 6 lub 7 do 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ługa zmian w interfejsie API związanych z subskrypcjami w aplikacji.

    W tabeli poniżej znajdziesz listę interfejsów API związanych 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
  3. Zaktualizuj implementację metody [queryProductDetailsAsync][9].

    Zmieniliśmy sygnaturę metody [ProductDetailsResponseListener.onProductDetailsResponse][2], co wymaga wprowadzenia zmian w aplikacji w celu implementacji [queryProductDetailsAsync][9]. Więcej informacji znajdziesz w artykule [Wyświetlanie produktów dostępnych do kupienia][3].

  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 Twoje wdrożenie korzysta z któregoś z tych usuniętych interfejsów API, w tabeli znajdziesz odpowiednie interfejsy API, które możesz wykorzystać zamiast nich.

    Wycofany wcześniej interfejs API został usunięty w PBL 8 Alternatywny interfejs API do użycia
    Interfejsy queryPurchaseHistoryAsync API Zobacz historię zakupów zapytań
    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
    Interfejsy queryPurchaseHistoryAsync API Zobacz historię zakupów zapytań
    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

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

  6. Opcjonalne zmiany.

    • Obsługa oczekujących zakupów w przypadku abonamentów przedpłaconych. Więcej informacji znajdziesz w artykule [Obsługa subskrypcji i transakcji oczekujących][4].

    • Subskrypcje wirtualnych rat. Więcej informacji znajdziesz w artykule [Integracja subskrypcji ratalnych][5].

[1]: /google/play/billing/release-notes [2]: /reference/com/android/billingclient/api/ProductDetailsResponseListener#onProductDetailsResponse(com.android.billingclient.api.BillingResult,java.util.List%3Ccom.android.billingclient.api.ProductDetails%3E) [3]: /google/play/billing/integrate#show-products [4]: /google/play/billing/subscriptions#pending [5]: /google/play/billing/subscriptions#installments [6]: /google/play/billing/integrate#automatic-service-reconnection [8]: /google/play/billing/release-notes [9]: /reference/com/android/billingclient/api/BillingClient#queryProductDetailsAsync