このドキュメントでは、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 ファイルで、Google 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 を示します。

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

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

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

    アップグレード元

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

    以前に非推奨となった API が PBL 8 で削除されました 使用する代替 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 を示します。

    以前に非推奨となった API が PBL 8 で削除されました 使用する代替 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. 変更(省略可)。