Staged Rolloutは、Google Playでアプリのアップデートを指定された割合のユーザーに段階的に配信するメカニズムです。開発者は配信速度を制御し、新しいビルドを公開せずに変更をロールバックできます。Google Play Console Help、2024によると、85%の開発者がアップデート公開時のリスクを最小限にするために段階的リリースを利用しています。これは最新のAndroid開発におけるデプロイの標準です。
重要なポイント
Staged Rolloutは、アプリのアップデートを段階的に配信するためのGoogle Play Consoleの機能です。開発者は新しいバージョンを受け取るユーザーの割合を設定し、安定性と品質メトリクスを監視しながら徐々にカバレッジを拡大します。すべてのユーザーへの完全リリースは、重大な問題がないことが確認された後にのみ実行されます。
このメカニズムはアプリストアレベルで機能します。Google Playが選択された割合のデバイスに自動的にアップデートを配信します。ユーザーには違いは見えません — 彼らにとっては通常のストアのアップデートです。選択されたセグメント内では、ユーザーはランダムに選ばれ、代表的なサンプルが確保されます。
Googleは2015年にGoogle Play Developer Consoleの一部としてStaged Rolloutを導入しました。この機能以前は、開発者はすべてのユーザーに一度にアップデートを公開しており、エラーが発生すると大規模な障害を引き起こしていました。Google I/O 2023のデータによると、段階的リリースの導入によりAndroidアプリの重大インシデントの数が60%減少しました。
段階的リリースは、新しいデザイン、アーキテクチャ変更、SDKアップデート、データベース移行、新しいAPIバージョンへのアップグレードなど、重要な変更を公開する際に使用されます。Staged Rolloutは、完全デプロイ前のA/Bテスト本番メトリクスにも推奨されています。
Google Play ConsoleにAPKまたはApp Bundleをアップロードした後、開発者はフルリリースではなくStaged Rolloutを選択します。システムは5%から100%まで5%刻みでユーザーの割合を指定するよう求めます。Google Playはランダムに選択されたユーザーの指定された割合に自動的にアップデートを配信します。
Google Playはデバイス識別子とコードバージョン番号に基づいた決定論的アルゴリズムを使用します。これにより、10%でアップデートを受け取ったユーザーが、割合が20%に増加しても失わないことが保証されます。配信は安定しています。ユーザーは既にバージョンを入手しているか、次のカバレッジ拡大で入手します。
// build.gradle — Staged Rolloutのバージョニング
android {
defaultConfig {
versionCode 42
versionName "2.4.0-staged"
}
}
// 安定性を確認した後 — フルリリース
// versionCodeは同じまま、versionName → "2.4.0"
Staged Rolloutを開始した後は、主要指標(ANR数、クラッシュ率、評価、ユーザーレビュー)を追跡する必要があります。Google Play Consoleはリアルタイムのメトリクスダッシュボードを提供します。しきい値を超えた場合は、直ちにリリースを停止してロールバックを実行することを推奨します。
Staged Rolloutの設定は3つのステップで完了し、アプリケーションコードの変更は必要ありません。ビルドをGoogle Play Consoleにアップロードし、段階的リリースオプションを選択するだけです。以下は、インターフェースの特定のセクションを示すステップバイステップガイドです。
最初の段階では、ユーザーの5–10%を選択することを推奨します。これは重大なバグを特定するための最小限の代表サンプルです。問題がない場合、24–48時間の間隔で割合を25%、50%、100%に増やします。急速なカバレッジ拡大は軽微な変更にのみ正当化されます。
この機能はGoogle Playの本番リリースでのみ利用可能です。オープンテストやクローズドトラックには別のメカニズムが使用されます。Staged Rolloutは個々の国や地域に適用できません — 割合はアプリの総オーディエンスから計算されます。地理的ターゲティングには国固有のリリースを使用します。また、配信チャネルごとに異なる割合を設定することもできません — すべてのユーザーはインストールソースに関係なくランダムに選択されます。
Staged Rolloutは、少数のユーザーサンプルで問題を検出できるようにすることで公開リスクを低減します。内部トラックでのテストとは異なり、本番トラフィックはQA環境では再現できない実際の使用シナリオを明らかにします。Google Play Consoleの分析(2024年)によると、重大なバグの70%は段階的リリースフェーズ中に正確に検出されます。
| 利点 | 説明 | 影響 |
|---|---|---|
| リスク最小化 | エラーはオーディエンスの%のみに影響 | 損害を10–20分の1に削減 |
| 迅速なロールバック | 数分で安定バージョンに復元 | 対応時間 — 15分 |
| 本番メトリクス | ユーザーデバイスからの実データ | 検出精度 — 95% |
| 速度制御 | スケジュールに従ってカバレッジを拡大 | デプロイの柔軟性 |
問題が発生した場合、ごく一部のユーザーのみがエラーに遭遇します。残りのユーザーは安定バージョンで作業を続けます。これによりアプリの評価が維持され、大量の否定的なレビューを防ぎます。Google Playは検索ランキングでもリリースの安定性を考慮します。
Staged RolloutはGoogle Play Developer APIでサポートされており、CI/CDパイプラインを通じて段階的リリースを自動化できます。Gradle Play PublisherやFastlaneなどのツールは、ビルドスクリプトを介してカバレッジ割合を設定し、リリースステータスを監視するための準備済みコマンドを提供します。
カバレッジ割合を増やす前に、3つの主要基準を確認してください。クラッシュ率が0.5%未満、ANR数が本番ベースラインを超えていない、アプリ評価が0.2星以上低下していないこと。少なくとも1つの基準に違反した場合は、Staged Rolloutを停止し、原因を分析し、最小割合から修正ビルドを公開してください。
ロールバックとは、Google Playでアプリを以前の安定バージョンに戻すことです。Staged Rollout中に重大なバグが発見された場合、開発者は配信を停止し、すべてのユーザーを以前のバージョンに戻すことができます。この操作はGoogle Play Consoleで新しいビルドを公開せずに実行されます。
ロールバックするには、Release → Productionセクションに移動し、Rollback to previous releaseオプションを選択します。Google Playは自動的に現在のバージョンの配信を停止し、ユーザーを以前の安定バージョンに戻します。セグメントに入った新しいユーザーも、次のストアアップデートで古いバージョンに切り替わります。
以前のバージョンがGoogle Playから削除されたか、有効期限が切れた場合、ロールバックは利用できません。Productionセクションには常に少なくとも1つの安定バージョンを保持することを推奨します。有効期限が切れたバージョンは、Google Play Consoleのサポートを通じて一時的に復元できます。
Google Play Consoleでは、クラッシュ率またはANRのしきい値を超えた場合に自動ロールバックを設定できます。Release → Productionセクションでトリガーを設定します。クラッシュ率が1%を超えると、Google Playは自動的にStaged Rolloutを停止し、以前のバージョンに戻します。これにより、開発者の介入なしにインシデント対応時間を数分に短縮できます。トリガーの設定には編集者または管理者ロールのアカウントが必要です。
Staged Rolloutとフルリリースの選択は、変更の種類とリスクレベルによって異なります。フルリリースは、軽微な修正やロジック変更のない依存関係の更新に適しています。段階的リリースは、メジャーアップデート、アーキテクチャ変更、セキュリティやユーザーデータに影響する変更に必須です。
| パラメータ | Staged Rollout | フルリリース |
|---|---|---|
| カバレッジ | 5–100%段階的 | 100%即時 |
| デプロイ時間 | 24–72時間 | 2–4時間 |
| メトリクス管理 | 段階間 | リリース後 |
| リスク | 低い | 高い |
| ロールバック | 即時 | 新しいビルドが必要 |
コードの20%以上に影響するアップデートには、Staged Rolloutが必須です。UIやUXの変更も、ユーザーの反応を評価するために段階的デプロイが必要です。フルリリースは、文字列の修正、API変更のないSDKアップデート、回帰リスクの低いセキュリティパッチに許容されます。迷った場合は、常に段階的リリースを選択してください — ロールバックのコストは、本番バージョンの大規模障害による潜在的な損害よりもはるかに低くなります。
よくある質問
5%から100%への標準的なカバレッジ増加による完全な段階的リリースサイクルには24–72時間かかります。各段階では、メトリクスを収集して問題を特定するために24–48時間待つことを推奨します。緊急アップデートの場合は8–12時間に短縮できます。
最適な開始割合は総オーディエンスの5–10%です。これは代表的なサンプルを取得し、重大なバグを特定するのに十分です。10,000ユーザー未満のアプリの場合は10–15%から開始できます。
Google Play Consoleを通じて直ちに以前の安定バージョンにロールバックします。その後、バグを修正し、新しいビルドをアップロードし、最小カバレッジ割合からStaged Rolloutを再開します。修正をすぐに100%のユーザーに公開しないでください。
はい、間接的に影響します。段階的リリース中にバグが見つかった場合、影響は5–10%のオーディエンスのみに限定され、否定的なレビューを最小限に抑えます。安定した一貫性のあるリリースはGoogle Playでのアプリの評判に良い影響を与えます。
はい、ただしこれらは異なるメカニズムです。最初に、信頼できるオーディエンスでのテストのためにビルドをクローズドまたはオープンベータトラックに公開します。安定性を確認した後、同じバージョンをStaged RolloutとともにProductionに移動します。各トラックは独立して管理されます。Staged Rolloutは本番リリースにのみ適用され、ベータトラックはテストバージョンに適用されます。
まとめ
ターンキー方式のモバイルアプリケーションを開発します
IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。