このガイドでは、Remote Config のロールアウトに関連する主なコンセプトについて説明します。次のことが可能になります。
ロールアウト グループのメンバーシップについて
新しいロールアウトを作成し、割合を割り当てる場合、Firebase は、有効になっている機能のパフォーマンスを比較する際に正確な結果を得るために、オーディエンスの同等のサイズの部分をコントロール グループに配置します。これにより、次のグループが作成されます。
- 有効: このグループに割り当てられたユーザー デバイスは、ロールアウトで構成した値を受け取ります。
- コントロール: このグループに割り当てられたユーザー デバイスは、ロールアウト値ではなく、Remote Config から受信するはずだった値を受け取ります。
- 未割り当て: このグループのユーザー デバイスは、Remote Config から受け取るはずだった値を受け取りますが、ロールアウト比較の結果では使用されません。
つまり、2% のユーザーにロールアウトする場合、それらのユーザーは有効グループに追加され、さらに 2% のユーザーが比較に使用されるコントロール グループに追加されます。96% のユーザーが [未割り当て] のままです。
このアプローチにより、ロールアウトの値を受け取るユーザーおよびデバイスのパフォーマンスと、受け取らないユーザーおよびデバイスのパフォーマンスを公平に比較でき、ロールアウトの成功または失敗を効果的に判断し、ロールアウトの結果ページでロールアウトが成功したか失敗したかを効率的に確認できます。
ロールアウト グループの割り当ては、ロールアウトのすべてのフェーズで一貫しています。つまり、同じロールアウト内で割合を 0% に減らすと、すべてのユーザーが Remote Config テンプレートで定義されたパラメータ値を受け取るように戻ります。後で公開の割合を上げることを決定した場合、元の「有効」グループまたは「コントロール グループ」に属するユーザーは、最初に割り当てられたグループに戻り、それらのグループと一致する値を受け取ります。
リリースが成功したことを確認し、ターゲット ユーザーの 100% に完全にリリースすることを決定した場合、Firebase はコントロール グループを使用しなくなり、すべてのターゲット ユーザーとデバイスがロールアウト値を受け取ります。
ロールアウトと A/B テストを使用するタイミング
Remote Config ロールアウトと A/B Testing は、用途が若干異なる場合に適しており、補完的に使用できます。
ロールアウトは段階的にリリースされ、多くの場合、新機能を特定のユーザー グループのみにリリースする場合に使用されます。特定の国のユーザーや、特定のバージョンのアプリを使用しているユーザーをターゲットにしたい場合は、ロールアウトを使用してリスクを軽減し、厳しい管理の下で実際の環境で新機能をテストして、機能のパフォーマンスを確認します。また、新しい機能の追加負荷でバックエンド サービスがどのように動作するかを監視し、より広いユーザーにリリースする前に変更がスケーラブルであることを確認するためにおおよその使用状況を監視することもできます。
ロールアウトは、機能を大幅に変更する新機能を実装する場合、予測できない結果をもたらす変更を行う場合、バックエンド インフラストラクチャ、サービス、外部 API に影響する変更を行う場合に適したツールです。
A/B Testingを使用すると、UI の外観と操作性の更新、広告コピーの変更、ゲーム レベルの難易度の更新など、機能またはアプリ要素の複数のバージョンを提示できるようになります。さまざまなパターンをユーザーに提示して、選択した指標(ユーザー エンゲージメント、広告のクリック数、収益など)に基づいて、どのオプションがより良い結果をもたらすかを把握できます。
A/B Testing を使用して、データに基づく意思決定、最適化、ユーザーの好みの理解を行います。これは、比較可能なオプションが複数あり、非常に具体的な目標がある場合に最適です。たとえば、バナー広告のどの配置でクリック数が増えるかをテストするなど、特定の指標を改善するためにアプリを微調整したい場合の変更には、A/B Testing が適しています。
全体的な戦略の中で、Remote Config のロールアウトと A/B Testing を組み合わせることもおすすめします。まず、制約されたユーザー セットで A/B テストを作成し、主要な指標に対して最適な結果を生み出すバリエーションを特定します。次に、A/B Testing でリーダーが決定されたら、最も有効なバリアントでロールアウトを作成します。公開対象ユーザーの数を段階的に増やしながら、安定性と主要な指標をモニタリングします。パフォーマンスに確信を持てたら、100% にロールアウトします。
ロールアウトの結果を理解する
ロールアウトを公開すると、ほぼ瞬時に結果が表示されるようになります。
結果は複数の方法で表示できます。
- [パラメータ] ページで、ロールアウト用に構成したパラメータを展開し、ロールアウトの下にある [結果の表示] をクリックします。
- [ロールアウト] ページで、ロールアウト名をクリックします。
検索結果ページの上部にあるアプリセレクタを使用すると、特定のアプリのビューを選択できます。結果は複数のセクションに分かれています。
- [Summary] セクションでは、構成されたロールアウトの割合が表示され、ロールアウトをロールバックまたは編集する機能が提供されます。展開すると、ロールアウトの構成の詳細の [概要] と、[変更履歴] が表示されます。
[ユーザー] セクションには、次のグループでロールアウト テンプレートを取得した固有のアプリ インストールの数が表示されます:
- 有効: ターゲット ロールアウト条件に一致し、ロールアウト値を取得したアプリインスタンスの数。
- コントロール: ターゲット ロールアウト条件に一致するアプリインスタンスのうち、変更されていない値を取得したものの数。
- [ターゲット]: ロールアウトで設定した条件に一致するインスタンスの推定合計数。ロールアウトまたは変更されていない値のいずれかを受け取る必要があります。
ロールアウト グループのメンバーシップについて理解するで詳細をご確認ください。
Crashlytics セクションと Analytics セクションには、有効グループとコントロール グループの比較データが表示されます。収集されたデータは、過去 24 時間、前回の公開以降、または過去 7 日間にフィルタリングできます。[過去 24 時間] がデフォルトのビューです。
ロールアウトに対する Crashlytics の結果
ロールアウト中に発生した [クラッシュ]、[非致命的]、[ANR] の合計数を確認できます。各結果カテゴリには、ロールアウトの条件を満たした [有効] ユーザーと [コントロール] ユーザーの合計数を比較する棒グラフが表示されます。
- クラッシュ: 有効グループとコントロール グループのクラッシュの数と割合、クラッシュが発生したユニーク ユーザーの数が表示されます。
- 非致命的なエラー: 致命的でないエラーの数と割合、致命的でないエラーが発生したユニーク ユーザーの数が表示されます。
- ANR(Android アプリのみ): 「アプリケーション応答なし」イベントの数と割合、および 1 つ以上の ANR イベントが発生したユニーク ユーザーの数が表示されます。
クラッシュの詳細を確認するには、[Crashlytics で詳細を表示] をクリックしてください。これによって、結果を検査していたロールアウトのアクティブなフィルタが表示された Crashlytics ページが開きます。Crashlytics ページのロールアウトの結果では、それぞれのバリアント([有効] または [コントロール])が公開されたすべてのユーザーを測定します。コントロール グループのクラッシュ、有効グループのクラッシュ、またはその両方を表示することを選択できます。
ロールアウトに対する Google Analytics の結果
[Google Analytics ロールアウトの結果] セクションでは、有効グループまたはコントロール グループに公開されたすべてのユーザーの Analytics 指標を詳細ビューとグラフビューで比較します。次の 3 つの指標が用意されています。
- 総収益: 広告収益、購入による収益を含む収益の合計額(米ドル)が表示されます。結果をフィルタを使用して、広告収入または購入による収益のそれぞれの結果を表示します。
- 合計コンバージョン数: すべてのコンバージョンを合計した数値が表示されます。ハイライト表示するコンバージョンで結果をフィルタできます。
- 合計エンゲージメント時間: ユーザーがいずれかのロールアウト バリアントで費やした合計エンゲージメント時間が表示されます。合計エンゲージメント時間は、Hours:Minutes:Seconds 形式で表示されます。例: 01:31:28。このグラフには、[Crashlytics] セクションの上で選択した期間のデータが表示されます。
次のステップ
- Remote Config ロールアウトの利用を開始する。