段階的リリースとアップデート
段階的なリリースと更新を行います。
「段階的リリースとアップデート」はCoddyKit上の無料Android Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAndroid Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Android Academyコースには全4レッスンが含まれています。
リスクを抑えたリリース
新しいバージョンをすべてのユーザーに一度に配信するのは危険です。潜在的なクラッシュがあれば、すぐに全ユーザーに影響します。Google Play には、より安全な方法としてテストトラックと段階的な公開があります。
このレッスンでは、リリーストラック、まず少ない割合のユーザーに公開する方法、アップデートがユーザーに届く仕組み、問題が起きたときの対応について学びます。
リリーストラック
Play では、公開範囲が小さいものから大きいものまで、リリースをトラックに分けて管理します。
- 内部テスト — 最大 100 人のテスターが数分以内に利用でき、チーム内での確認に使います。
- クローズドテスト — メールリストまたはグループで招待したテスターが利用します。
- オープンテスト — 誰でも公開ベータ版に参加できます。
- 本番 — ストアのすべてのユーザーが利用します。
望ましい流れは、ビルドを内部 → クローズド → オープン → 本番の順に昇格させることです。
リリースの作成
どのトラックでも新しいリリースを作成をクリックし、.aab をアップロードするか、App Bundle Explorer から選択して、リリースノートを追加します。
リリースノートでは言語タグを使用するため、ロケールごとに別のテキストを設定できます。短く、ユーザーを意識した内容にしてください。
<!-- Release notes, one block per language -->
<en-US>
- New dark mode
- Faster startup
- Fixed a crash when opening profiles
</en-US>
<tr-TR>
- Yeni karanlık mod
- Daha hızlı açılış
- Profil açılırken oluşan çökme düzeltildi
</tr-TR>段階的な公開(割合指定)
本番リリースでは、段階的な公開を行えます。まず10%など、少数のユーザーに配信してから、対象を広げます。
Play はアップデートを受け取るユーザーをランダムに選びます。クラッシュ率と ANR 率を確認し、割合を 10% → 25% → 50% → 100% と増やします。
指標が悪化した場合は割合を増やさず、大半のユーザーに影響が及ぶ前に停止できます。
公開の停止と再開
段階的な公開で問題が見つかった場合は、Console から停止できます。停止すると、新しいユーザーにはアップデートが配信されなくなります。すでにアップデートしたユーザーには、そのまま残ります。
新しいバージョンで修正版を配信した後、公開を再開するか、新しい公開を開始します。停止すれば、完全な取り消しを行わずに時間を確保できます。なお、Play にはすでにインストールされたユーザー向けの完全な取り消し機能は実質的にありません。
だからこそ、最初は少ない割合から始めるのです。
アップデートがユーザーに届く仕組み
デフォルトでは、Play ストア アプリがバックグラウンドで(多くの場合 Wi-Fi 接続時に)アプリを自動更新します。ユーザーが手動で「更新」をタップすることもあります。
versionCodeのルールを覚えておいてください。各リリースには、前回より大きい整数を設定する必要があり、そうでなければ Play に拒否されます。versionNameは、ユーザーに表示されるラベルにすぎません。
android {
defaultConfig {
// Must be strictly greater than the previous release
versionCode = 13
// Friendly label shown in the store and settings
versionName = "1.5.0"
}
}アプリ内アップデート
ユーザーにアプリ内でアップデートを促したい場合があります。In-App Updates API には 2 つのモードがあります。
- Flexible — ユーザーがアプリを使い続けている間に、バックグラウンドでダウンロードします。
- Immediate — 重要なアップデート向けの、全画面で操作をブロックするフローです。
アップデートの有無を確認し、利用可能な場合は選択したフローを開始します。
val manager = AppUpdateManagerFactory.create(context)
manager.appUpdateInfo.addOnSuccessListener { info ->
val available = info.updateAvailability() ==
UpdateAvailability.UPDATE_AVAILABLE
if (available && info.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {
manager.startUpdateFlowForResult(
info,
AppUpdateType.FLEXIBLE,
activity,
REQUEST_CODE_UPDATE
)
}
}Flexible アップデートの完了
Flexibleアップデートは、ユーザーに気付かれない形でダウンロードされます。完了したら、インストールするために completeUpdate() を呼び出す必要があります。通常は、snackbar でユーザーに促してから呼び出します。
DOWNLOADED 状態を監視し、その後で再起動を案内します。
manager.registerListener { state ->
if (state.installStatus() == InstallStatus.DOWNLOADED) {
// Tell the user, then finish the install
showRestartSnackbar {
manager.completeUpdate()
}
}
}リリース後の監視
配信して終わりではありません。Play Console のAndroid vitals ダッシュボードでは、Play がアプリの評価にも使用する健全性指標を確認できます。
- クラッシュ率とANR 率(Application Not Responding)。
- 過剰なウェイクアップ、遅い描画、バッテリーに関する問題。
段階的な公開中は、これらを注意深く確認してください。急激な悪化は、公開範囲を広げる前に停止すべきサインです。
レビューと問題への対応
リリース後は、次の 2 つの習慣が重要です。
- Console でレビューに返信する。評価の向上につながり、実際のバグも見つけやすくなります。
- vitals またはクラッシュレポーターからクラッシュをトリアージし、修正して
versionCodeを増やし、新しい段階的な公開を行う。
リリースは、少しずつ配信し、計測し、修正して、再び配信するという循環です。
安全なリリースワークフロー
レッスン全体をまとめると、堅牢なワークフローは次のとおりです。
- 内部テストにアップロードし、チームでスモークテストを行う。
- クローズドテストまたはオープンテストに昇格させ、より幅広いフィードバックを得る。
- 本番環境で10%の段階的な公開を開始する。
- Android vitalsを確認し、問題がなければ割合を増やす。
- 指標が急上昇したら停止して修正し、新しいビルドで再開する。
小さな段階に分け、適切に監視すれば、リリースは怖い作業ではなく日常的な作業になります。
クイックチェック
本番リリースをユーザーの 10% に配信したところ、クラッシュ率が急上昇しました。修正版を準備する間、問題のあるバージョンがこれ以上のユーザーに配信されないようにしたいとします。どうしますか。
振り返り: 段階的な公開とアップデート
これで、自信を持ってリリースできるようになりました。
- トラック(内部、クローズド、オープン、本番)を使用して、ビルドの公開範囲を段階的に広げる。
- 段階的な公開を行い、最初は少ない割合から始め、指標が健全な状態を保っている場合に範囲を広げる。
- vitals が急上昇したら公開を停止し、修正したうえで、より大きい
versionCodeの新しいビルドを配信する。 - 必要に応じて、In-App Updates API(Flexible または Immediate)でユーザーに通知する。
- Android vitalsとレビューを監視し、改善を繰り返す。
これで、署名済みリリースビルドから、安全に監視しながら段階的に公開するまでの「Google Play への公開」が完了します。
よくある質問
「段階的リリースとアップデート」レッスンは無料ですか?
はい。「段階的リリースとアップデート」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Android Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Android Academyコースには全4レッスンが含まれています。
「段階的リリースとアップデート」で何を学びますか?
段階的なリリースと更新を行います。 ブラウザで直接実行するハンズオンコードでAndroid Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Android Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAndroid Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「段階的リリースとアップデート」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAndroid Academyレッスンでコードを書いて実行できますか?
はい。すべてのAndroid Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- リリースビルドの準備
- アプリの署名
- Play Consoleとストア掲載情報
- 段階的リリースとアップデート