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

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

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

概要

Google Play Billing Library 7 では、既存の定期購入機能の支払いの処理が改善されています。これらのオプションの改善により、分割払いプランでの支払いのサポートと、前払いの定期購入の保留中の購入のサポートが追加されます。

下位互換性のある Play Billing Library のアップグレード

Google Play Billing Library 7 の新しい API はすべてオプションであり、デベロッパーはアップデートのために API の変更を実装する必要はありません。

移行するには、リリースノートとこの移行ガイドの後半で説明するように、API 参照を更新し、アプリから特定の API を削除する必要があります。

PBL 5 から PBL 7 にアップグレードする

以降のセクションでは、PBL 5 から PBL 7 にアップグレードする方法について説明します。

Google Play Billing Library を更新する

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

dependencies {
    def billingVersion = 7.0.0

    implementation "com.android.billingclient:billing:$billingVersion"
}

次に、以下のセクションの説明に従って API リファレンスを更新します。

ユーザーの定期購入を変更する

Play Billing Library 5 以前は ProrationMode を使用して、ユーザーの定期購入の変更(アップグレードやダウングレードなど)を適用していました。この API は削除され、ReplacementMode に置き換えられました。

定期購入の価格変更を処理する

以前に非推奨になった launchPriceConfirmationFlow API が削除されました。代替の方法については、価格変更ガイドをご覧ください。

定期購入関連の API の変更を処理する

以前に非推奨になっていた API setOldSkuPurchaseTokensetReplaceProrationModesetReplaceSkusProrationMode が削除されました。

Play Billing Library のエラーに対応する

新しい NETWORK_ERROR コードは、ユーザーのデバイスと Google Play システム間のネットワーク接続の問題を示します。

SERVICE_TIMEOUTSERVICE_UNAVAILABLE のコードも更新されました。

詳しくは、BillingResult のレスポンス コードを処理するをご覧ください。

保留中のトランザクションを処理する

Play Billing Library では、保留中の購入の注文 ID は作成されなくなりました。このような購入の場合、購入ステータスが PURCHASED に移行した後に注文 ID が入力されます。統合では、トランザクションが完全に終了した後にのみ、注文 ID が入力されることを考慮する必要があります。引き続きレコードには購入トークンを使用できます。

保留中の購入の処理について詳しくは、Play Billing Library の統合ガイド購入ライフサイクル管理ガイドをご覧ください。

削除された代替の課金システムの API を処理する

BillingClient.Builder.enableAlternativeBillingAlternativeBillingListenerAlternativeChoiceDetails を削除しました。代わりに、リスナー コールバックで UserChoiceBillingListenerUserChoiceDetails を使用して BillingClient.Builder.enableUserChoiceBilling() を使用する必要があります。

このアップデートでは、非推奨の API の名前が変更されますが、動作は変更されません。

オプションの変更

PBL 7 には、2 つの新しいオプション API が含まれています。

プリペイド プランの保留中の購入をサポート

定期購入と保留中のトランザクションを処理するガイドをご覧ください。

仮想分割払いサブスクリプション

分割払いサブスクリプションの統合ガイドをご覧ください。

PBL 6 から PBL 7 にアップグレードする

以降のセクションでは、PBL 6 から PBL 7 にアップグレードする方法について説明します。

Google Play Billing Library を更新する

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

dependencies {
    def billingVersion = 7.0.0

    implementation "com.android.billingclient:billing:$billingVersion"
}

次に、以下のセクションの説明に従って API リファレンスを更新します。

定期購入関連の API の変更を処理する

以前に非推奨になっていた API setOldSkuPurchaseTokensetReplaceProrationModesetReplaceSkusProrationMode が削除されました。

削除された代替の課金システムの API を処理する

BillingClient.Builder.enableAlternativeBillingAlternativeBillingListenerAlternativeChoiceDetails を削除しました。代わりに、リスナー コールバックで UserChoiceBillingListenerUserChoiceDetails を使用して BillingClient.Builder.enableUserChoiceBilling() を使用する必要があります。

オプションの変更

PBL 7 には、2 つの新しいオプション API が含まれています。

プリペイド プランの保留中の購入をサポート

定期購入と保留中のトランザクションを処理するガイドをご覧ください。

仮想分割払いサブスクリプション

アプリにこれらの変更を統合する方法については、分割払いサブスクリプションの統合ガイドをご覧ください。