このドキュメントでは、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 ファイルで、Google 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 ファイルで、Google 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 が含まれています。
プリペイド プランの保留中の購入をサポート
定期購入と保留中の取引を処理するガイドをご覧ください。
仮想分割払いのサブスクリプション
これらの変更をアプリに統合する方法については、分割払い定期購入の統合ガイドをご覧ください。