段階的ロールアウトは、完全配信の前に設定可能な割合のユーザーに新しいアプリバージョンを配信するGoogle Playのリリース機能だ。開発者は初期割合(一般的に1%または5%)を設定し、クラッシュフリー率や他の品質指標を監視しながら、割合を段階的に増加させる(例:5% → 20% → 50% → 100%)過程に数時間から数日を費やす。ロールアウト途中で重大な問題が検出された場合、開発者はロールアウトを停止して不具合のあるビルドがこれ以上のユーザーに届くのを防ぐことができる。
段階的ロールアウトの典型的な進行
- 1〜5%:最初の24〜48時間。クラッシュフリー率・ANR率・主要フローのコンバージョンを確認。0.1%を超える問題が検出された場合は停止する。
- 5〜20%:次の24〜48時間。より広い配信により、より多くのデバイスと地域の組み合わせでビルドの動作を検証する。
- 20〜50%:次の2〜3日間。この時点までに深刻な問題は表面化しているはず。指標が安定していれば続行する。
- 50〜100%:最終段階。初回リリースから5〜7日以内に完全配信を完了させる。
Appleの相当機能:App Store Connectの「段階的リリース(Phased Release)」。同じ概念で、実装が若干異なる。Appleの段階的リリースは固定の7日間スケジュール(1% → 2% → 5% → 10% → 20% → 50% → 100%)に従い、日ごとに自動的に増加する。Google Playのパーセンテージベースシステムよりも細かい制御はできないが、根本的な目的は同一だ。
重要な機能:ロールアウトを停止する能力。クラッシュフリー率が低下したり、ANR率が急増したり、主要なコンバージョン指標が悪化した場合、開発者はPlay Consoleからロールアウトを停止する。既にアップデートしたユーザーにはビルドが残るが、新しいユーザーはそれを受け取らない。その後、ホットフィックスリリースを新しいロールアウトとして段階的に配信し、不具合のあるビルドを置き換えることができる。