おいしい健康 開発者ブログ

株式会社おいしい健康で働くエンジニア・デザイナーが社内の様子をお伝えします。

おいしい健康AndroidアプリのPlay Billing Library を 3から5に移行しました

こんにちは。おいしい健康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関数をアップデートする / 必要な変更を加える

課金アイテムの取得の変更

  • SkuDetailsProductDetails に変更
  • SkuDetailsParamsQueryProductDetailsParamsに変更
  • BillingClient.querySkuDetailsAsync()BillingClient.queryProductDetailsAsync()に変更
  • BillingClient.querySkuDetails()が廃止されているのでBillingClient.queryProductDetailsAsync()に変更

テスト

移行が完了したら、課金処理が正常に動作しているかチェックします。

以下の2つでテストを行いました。

  • CIでUnitTest自動実行
  • Qase で手動チェック

We are hiring!

おいしい健康ではAndroidエンジニアを募集しています。 「モダンな環境をどんどん進めていくぜ!」という方、カジュアル面談しましょう。

www.wantedly.com