こんにちは。おいしい健康Androidエンジニアの小林です。 ブログの下書きを見ていたら書き溜めていたものがあったので、今年のうちに公開します。
今年の11月初旬、Play Billing Library(以下PBL)を3から5へ移行しました。 そこでやったことを記録として残します!
背景
PBLの各バージョンはリリースされてから2年間でサポート終了します。https://developer.android.com/google/play/billing/deprecation-faq?hl=ja おいしい健康AndroidアプリはPBL3.0.0を利用しているので、2022年11月1日までに4.0.0以上に移行しなければなりません。(このブログが公開したときにはすでにすぎている)
PBL3.0.0のままだと、アプリがアップデートできなくなります(!)
どうせバージョンをあげるなら、最新の5.0.0へ上げてしまおうと思い、今回3.0.0から5.0.0に一気に移行しました。
5.0.0にあげる際にやったこと・やらなかったことをそれぞれ書いていきます。
5.0.0へ上げるためにやったこと
タスクの洗い出し
今回はアプリ内課金に関わるので慎重に対応していきました。 まずは、何をすべきかを洗い出しました。プロダクトに合わせて変わってくるかと思いますが、具体的には以下のようにタスクになりました。
- バージョンあげる - Deprecate関数をアップデートする - 必要な変更を加える - テスト
バージョンあげる
依存関係のバージョンを変えるだけです。
- implementation "com.android.billingclient:billing:3.0.0" + implementation "com.android.billingclient:billing:5.0.0"
Deprecate関数をアップデートする / 必要な変更を加える
課金アイテムの取得の変更
SkuDetails
をProductDetails
に変更SkuDetailsParams
をQueryProductDetailsParams
に変更BillingClient.querySkuDetailsAsync()
をBillingClient.queryProductDetailsAsync()
に変更BillingClient.querySkuDetails()
が廃止されているのでBillingClient.queryProductDetailsAsync()
に変更
テスト
移行が完了したら、課金処理が正常に動作しているかチェックします。
以下の2つでテストを行いました。
- CIでUnitTest自動実行
- Qase で手動チェック
We are hiring!
おいしい健康ではAndroidエンジニアを募集しています。 「モダンな環境をどんどん進めていくぜ!」という方、カジュアル面談しましょう。