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 を削除しました。 デベロッパーは、代わりにリスナー コールバックで UserChoiceBillingListener および UserChoiceDetailsBillingClient.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 を削除しました。 デベロッパーは、代わりにリスナー コールバックで UserChoiceBillingListener および UserChoiceDetailsBillingClient.Builder.enableUserChoiceBilling() を使用する必要があります。

オプションの変更

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

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

定期購入と保留中の取引の処理に関するガイドをご覧ください。

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

これらの変更をアプリに統合する方法については、分割払い定期購入の統合ガイドをご覧ください。