Remote Config のロールアウトについて

このガイドでは、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% ロールアウトします。

ロールアウトの結果を理解する

ロールアウトを公開すると、すぐに結果が表示されるようになります。

結果は複数の方法で表示できます。

  • [パラメータ] ページで、ロールアウト用に構成したパラメータを開き、ロールアウトの下にある [結果を表示] をクリックします。
  • [ロールアウト] ページでロールアウト名をクリックします。

結果ページの上部にあるアプリセレクタを使用すると、特定のアプリのビューを選択できます。結果は複数のセクションに分かれています。

  • [概要] セクション。構成済みのロールアウトの割合が表示され、ロールアウトをロールバックまたは編集できます。展開すると、ロールアウトの構成の詳細と [変更履歴] の [概要] が表示されます。
  • [ユーザー] セクションに、次のグループでロールアウト テンプレートを取得したユニーク アプリのインストール数が表示されます。

    • 有効: ターゲット ロールアウト条件を満たし、ロールアウト値を取得したアプリ インスタンスの数。
    • コントロール: ターゲットのロールアウト条件に一致し、変更されていない値を取得したアプリ インスタンスの数。
    • ターゲット: ロールアウトで設定した条件に一致するインスタンスの推定合計数。ロールアウトまたは変更されていない値を受け取る必要があります。

    詳細については、ロールアウト グループ メンバーシップについてをご覧ください。

  • [Crashlytics] セクションと [アナリティクス] セクション。有効なグループとコントロール グループの比較データが表示されます。収集されたデータは、過去 24 時間前回の公開以降過去 7 日間でフィルタリングできます。デフォルトのビューは過去 24 時間です。

Crashlytics のロールアウトの結果

ロールアウト中に発生したクラッシュ非致命的エラーANR の合計数を確認できます。各結果カテゴリには棒グラフが表示され、ロールアウトの条件を満たす有効ユーザーとコントロール ユーザーの未加工の合計が比較されます。

  • クラッシュ: 有効グループとコントロール グループに対して、クラッシュの数と割合、クラッシュが発生したユニーク ユーザーの数が表示されます。
  • 非致命的なエラー: 致命的でないエラーの数と割合、致命的でないエラーが発生したユニーク ユーザーの数が表示されます。
  • ANR(Android アプリのみ): 「アプリケーション応答なし」イベントの数と割合、1 つ以上の ANR イベントが発生したユニーク ユーザーの数が表示されます。

クラッシュの詳細を確認するには、[Crashlytics でもっと見る] をクリックします。Crashlytics ページが開き、結果を検査しているロールアウトのアクティブなフィルタが表示されます。Crashlytics ページのロールアウト結果では、各バリアント(有効またはコントロール)に対して広告が表示されたことがあるすべてのユーザーを測定します。コントロール グループのクラッシュ、有効なグループのクラッシュ、またはその両方を表示するかを選択できます。

ロールアウトに関する Google アナリティクスの結果

[Google アナリティクスのロールアウト結果] セクションでは、有効グループまたはコントロール グループが表示されたことがあるすべてのユーザーのアナリティクスの指標を詳細に、グラフ表示で確認できます。次の 3 つの指標が提供されています。

  • 合計収益: 広告収益と購入収益を含む収益の合計額が米ドルで表示されます。結果をフィルタリングして、広告収益または購入収益のみの結果を表示できます。
  • 合計コンバージョン数: すべてのコンバージョン イベントの合計の実際の数が表示されます。ハイライト表示するコンバージョンで結果をフィルタできます。
  • 合計エンゲージメント時間: ロールアウト バリアントのいずれかでユーザーが費やした合計エンゲージメント時間。合計エンゲージメント時間は「時間:分:秒」の形式で表示されます。例: 01:31:28。グラフには、[Crashlytics] セクションで選択した期間のデータが表示されます。

次のステップ