本記事では表題の通り、in-app updates APIのテスト方法のみ説明する。
テスト方法がよく分からず試行錯誤した結果なので、もっと良い方法があるかも知れない。
実装方法については以下の記事がとても良いので参照されたい。
Android in-app Updates API 解説と雑感 - Qiita
なお当該記事のAn update has just been downloaded.
はサンプルプログラムのままになっており、うっかりそのまま使っちゃうと「あぁ〜」となるので、いい感じに変更されると良い。
手順
準備
in-app updates API対応バージョンのapkまたはaabを用意する。
バージョンコード/バージョン名はリリース済みのものより上である必要がある。
テスターの登録
Playコンソールにログインする。
対象のアプリをクリックする。
リリース管理→アプリのリリースに遷移する。
「内部テスト版」の「管理」をクリックする。
「テスターの管理」の右側のキャレットをクリックし、展開する。
リスト名は任意で問題ない。
メールアドレスにテストしたいユーザーのメールアドレスを入力する。
入力が終わったら「作成」。
テストしたいユーザーでログインしたブラウザで、「テスターの管理」セクションにあったオプトインURLを踏む。
すると以下のような画面が表示されるので、「プログラムに参加する」。

以上でテスターの登録は完了。
反映には1日ほどかかった。
1度目のアプリのアップロード
1度目でin-app updates APIを仕込んだバージョンをアップロードし、
2度目でアップデートの挙動を確認するため、少なくとも2度必要。
先程の「内部テスト版」画面に遷移する。
「テスターの管理」で先程作成したリストにチェックが付いている事を確認する。
付いていなかったらチェックする。
右上から「リリースを作成」する。
ここでin-app updatesの処理を含めたapkまたはaabをアップロードする。
このバージョンには念の為にLogCatへのログ出力を含んだバージョンにしておく事をおすすめする。
万が一エラーで死んでいた場合にアップデートが機能しているかの確認がしづらいからだ。
後は通常のリリース手順なので割愛する。
Playストアからテスターユーザーでダウンロード
テスターユーザーでログインした状態で、Playストアで反映されるのを待つ。
反映されたらアップデートする。
アプリを立ち上げるかはアプリによって任意に実施すると良い。
一度テスターの状態が反映されると、次のアップデートからは即時に反映される。
Playストアの自動更新をOFFにする
アップデートし終わったら、アプリ内アップデートをテストするために自動更新をOFFにしておく。
Playストアのアプリ詳細ページから右上のハンバーガーメニュー「…」をタップし、「自動更新の有効化」のチェックをはずす。
2度目のアプリのアップロード
バージョン番号だけ上げたバージョンでも良いので、新しいapkまたaabを準備し、1度目のアプリのアップロードの手順と同様の手順で内部テスト版として公開する。
この時点ではログ出力は削除しておいても良いかも知れないが、状況によって判断する。
Playストアでアップデートがある事を確認
テスターユーザーでPlayストアでアップデートが公開されている事を確認する。
おそらく即座に反映されているはずだ。
Playストアでアップデートはしない 。
in-app updatesが発動するかのテスト
1つ前のバージョンのアプリを何度か開いて、アップデートが来ていないか確認する。
in-app updatesは記事執筆時点ではPlayストアとそれなりのタイムラグがあるので、3時間ほど待つ事もある。
アップデートが届いている場合、Flexibleバージョンを実装している場合は以下のようなダイアログが表示される。
動作確認が取れれば、内部テストから昇格して本番公開するなどする。
動作確認がNGであれば、2度目のアプリのアップロードを繰り返す。
事後処理
テストが完了したら、Playストアの自動更新をONにする。
所感
残念ながら今のところ非常に手間がかかる。
もうちょっとなんとかならないか。