このドキュメントでは、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
が削除されました。
setOldSkuPurchaseToken
をsetOldPurchaseToken
に更新します。setReplaceProrationMode
をsetSubscriptionReplacementMode
に更新します。setReplaceSkusProrationMode
をsetSubscriptionReplacementMode
に更新します。
Play Billing Library のエラーに対応する
新しい NETWORK_ERROR
コードは、ユーザーのデバイスと Google Play システム間のネットワーク接続に問題があることを示します。
コード SERVICE_TIMEOUT
と SERVICE_UNAVAILABLE
も更新されました。
詳しくは、BillingResult のレスポンス コードを処理するをご覧ください。
保留中のトランザクションを処理する
Play Billing Library は、保留中の購入の注文 ID を作成しなくなりました。このような購入では、購入ステータスが 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
が削除されました。
setOldSkuPurchaseToken
をsetOldPurchaseToken
に更新します。setReplaceProrationMode
をsetSubscriptionReplacementMode
に更新します。setReplaceSkusProrationMode
をsetSubscriptionReplacementMode
に更新します。
削除された代替の課金システムの API を処理する
BillingClient.Builder.enableAlternativeBilling
、AlternativeBillingListener
、AlternativeChoiceDetails
を削除しました。
デベロッパーは、代わりにリスナー コールバックで UserChoiceBillingListener
および UserChoiceDetails
と BillingClient.Builder.enableUserChoiceBilling()
を使用する必要があります。
オプションの変更
PBL 7 には、2 つの新しいオプション API が含まれています。
プリペイド プランの保留中の購入をサポートする
定期購入と保留中の取引の処理に関するガイドをご覧ください。
仮想分割払いのサブスクリプション
これらの変更をアプリに統合する方法については、分割払い定期購入の統合ガイドをご覧ください。