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 setOldSkuPurchaseToken、setReplaceProrationMode、setReplaceSkusProrationMode が削除されました。

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

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

SERVICE_TIMEOUT コードと SERVICE_UNAVAILABLE コードも更新されました。

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

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

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

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

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

BillingClient.Builder.enableAlternativeBilling、AlternativeBillingListener、AlternativeChoiceDetails を削除しました。代わりに、リスナー コールバックで UserChoiceBillingListener と UserChoiceDetails を指定して 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 setOldSkuPurchaseToken、setReplaceProrationMode、setReplaceSkusProrationMode が削除されました。

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

BillingClient.Builder.enableAlternativeBilling、AlternativeBillingListener、AlternativeChoiceDetails を削除しました。代わりに、リスナー コールバックで UserChoiceBillingListener と UserChoiceDetails を指定して BillingClient.Builder.enableUserChoiceBilling() を使用してください。

オプションの変更

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

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

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

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

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