Google Play Billing Library 6 または 7 からバージョン 8 に移行する

このドキュメントでは、Google Play Billing Library(PBL)6 または 7 から PBL 8 に移行する方法と、新しいオプションの定期購入機能を統合する方法について説明します。

バージョン 8.0.0 の変更点をすべて網羅したリストについては、[リリースノート][1] をご覧ください。

概要

PBL 8 には、既存の API の改善と、以前に非推奨となった API の削除が含まれています。このバージョンのライブラリには、1 回限りのアイテム用の新しい API も含まれています。

PBL アップグレードの下位互換性

PBL 8 に移行するには、[リリースノート][8] とこの移行ガイドの後半で説明するように、アプリから既存の API 参照の一部を更新または削除する必要があります。

PBL 6 または 7 から PBL 8 にアップグレードする

PBL 6 または 7 から PBL 8 にアップグレードするには、次の操作を行います。

  1. アプリの build.gradle ファイルで、Play Billing Library の依存関係のバージョンを更新します。

    dependencies {
      def billingVersion = 8.0.0
      implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (PBL 6 から PBL 8 へのアップグレードにのみ適用されます)。アプリで定期購入関連の API の変更を処理します。

    次の表に、PBL 8 で削除された定期購入関連の API と、アプリで使用する必要がある代替 API を示します。

    PBL 8 で以前に非推奨になった API が削除されました 使用する代替 API
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. [queryProductDetailsAsync][9] メソッドの実装を更新します。

    [ProductDetailsResponseListener.onProductDetailsResponse][2] メソッドのシグネチャが変更されたため、[queryProductDetailsAsync][9] 実装でアプリの変更が必要になります。詳しくは、[購入可能なサービスを表示する][3] をご覧ください。

  4. 削除された API を処理します。

    アップグレード元

    PBL 8 は、次の表に示す API をサポートしなくなりました。実装でこれらの削除された API のいずれかを使用している場合は、対応する代替 API について表を参照してください。

    PBL 8 で以前に非推奨になった API が削除されました 使用する代替 API
    queryPurchaseHistoryAsync API 購入履歴を照会するをご覧ください。
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases()(パラメータなしの API) enablePendingPurchases(PendingPurchaseParams params)
    非推奨の enablePendingPurchases() は、enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()) と機能的に同等です。
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync
    BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling
    AlternativeBillingListener UserChoiceBillingListener
    AlternativeChoiceDetails UserChoiceDetails

    アップグレード元

    次の表に、PBL 8 で削除された API と、アプリで使用する必要がある対応する代替 API を示します。

    PBL 8 で以前に非推奨になった API が削除されました 使用する代替 API
    queryPurchaseHistoryAsync API 購入履歴を照会するをご覧ください。
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases()(パラメータなしの API) enablePendingPurchases(PendingPurchaseParams params)
    非推奨の enablePendingPurchases() は、enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()) と機能的に同等です。
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync

  5. (推奨)サービスの自動再接続を有効にします。

    サービスが切断されている間に API 呼び出しが行われた場合、Play Billing Library はサービス接続の自動再確立を試行できます。詳細については、[自動サービス再接続を有効にする][6] をご覧ください。

  6. オプションの変更。

    • プリペイド プランの購入保留をサポートします。詳しくは、[定期購入と保留中の取引を処理する][4] をご覧ください。

    • 仮想分割払いのサブスクリプション。詳細については、[Installment Subscriptions Integration][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