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

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

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

概要

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

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

PBL 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 メソッドの実装を更新します。

    ProductDetailsResponseListener.onProductDetailsResponse メソッドのシグネチャが変更されたため、 queryProductDetailsAsync の実装でアプリを変更する必要があります。詳細については、 購入可能なアイテムを表示するをご覧ください。

  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. オプションの変更。