Firebase Remote Config
アプリの更新を公開せずに、アプリの動作と外観を無料で変更します。毎日のアクティブ ユーザー数は無制限です。
Firebase Remote Config は、ユーザーがアプリのアップデートをダウンロードしなくても、アプリの動作と外観を変更できるクラウド サービスです。 Remote Config を使用する場合、アプリの動作と外観を制御するアプリ内デフォルト値を作成します。その後、後で Firebase コンソールまたは Remote Config バックエンド API を使用して、すべてのアプリ ユーザーまたはユーザー ベースのセグメントのアプリ内デフォルト値をオーバーライドできます。アプリは更新が適用されるタイミングを制御し、更新を頻繁に確認して適用できますが、パフォーマンスへの影響はほとんどありません。主な機能
アプリのユーザー ベースへの変更をすばやくロールアウトする | サーバー側のパラメーター値を変更することで、アプリのデフォルトの動作と外観を変更できます。たとえば、Remote Config パラメータを機能フラグとして使用して、アプリのアップデートを公開することなく、アプリのレイアウトやカラー テーマを変更して、季節限定のプロモーションをサポートできます。 |
ユーザー ベースのセグメントに合わせてアプリをカスタマイズする | Remote Config を使用すると、アプリのバージョン、言語、 Google アナリティクスの対象ユーザー、インポートしたセグメントによって、ユーザー ベースのさまざまなセグメントにアプリのユーザー エクスペリエンスのバリエーションを提供できます。 |
Remote Config のパーソナライズを使用して、個々のユーザー向けにアプリを自動的かつ継続的にカスタマイズし、戦略的目標に合わせて最適化します | 機械学習を使用して個々のユーザー エクスペリエンスを継続的に調整し、 Remote Config のパーソナライズを使用して、ユーザー エンゲージメント、広告クリック、収益、または Google アナリティクスで測定できる任意のカスタム イベントなどの目標に合わせて最適化します。 |
A/B テストを実行してアプリを改善する | Google アナリティクスでA/B テストとランダム パーセンテージ ターゲティングを使用して、ユーザー ベースのさまざまなセグメントでアプリの改善を A/B テストし、ユーザー ベース全体にロールアウトする前に改善を検証できます。 |
それはどのように機能しますか?
Remote Config には、パラメーター値のフェッチやキャッシュなどの重要なタスクを処理するクライアント ライブラリが含まれていますが、新しい値がいつアクティブ化されてアプリのユーザー エクスペリエンスに影響を与えるかを制御することもできます。これにより、変更のタイミングを制御することで、アプリのエクスペリエンスを保護できます。
Remote Config クライアント ライブラリのget
メソッドは、パラメーター値に対する単一のアクセス ポイントを提供します。アプリは、アプリ内の既定値を取得するために使用するのと同じロジックを使用してサーバー側の値を取得するため、多くのコードを記述することなく、Remote Config の機能をアプリに追加できます。
アプリ内のデフォルト値をオーバーライドするには、Firebase コンソールまたは Remote Config バックエンド API を使用して、アプリで使用されるパラメーターと同じ名前のパラメーターを作成します。パラメータごとに、サーバー側のデフォルト値を設定してアプリ内のデフォルト値をオーバーライドできます。また、条件値を作成して、特定の条件を満たすアプリ インスタンスのアプリ内のデフォルト値をオーバーライドすることもできます。
パラメータ、条件、および Remote Config が条件値間の競合を解決する方法の詳細については、 Remote Config のパラメータと条件を参照してください。
実装パス
Remote Config でアプリを計測する | Remote Config を使用して変更できるようにするアプリの動作と外観の側面を定義し、これらをアプリで使用するパラメーターに変換します。 | |
デフォルトのパラメーター値を設定する | setDefaults() を使用して Remote Config パラメータのアプリ内デフォルト値を設定し、必要に応じて Remote Config テンプレートのデフォルトをダウンロードします。 | |
パラメーター値をフェッチ、アクティブ化、および取得するためのロジックを追加する | アプリは安全かつ効率的に Remote Config バックエンドからパラメータ値を取得し、取得した値を有効化できます。そのため、値をフェッチする最適なタイミングや、サーバー側の値が存在するかどうかさえ気にせずにアプリを作成できます。アプリは、アプリで定義されたローカル変数の値を読み取るのと同様に、 get メソッドを使用してパラメーターの値を取得します。 | |
(必要に応じて) サーバー側のデフォルトおよび条件付きパラメーター値を更新する | Firebase コンソールまたは Remote Config バックエンド API で値を定義して、アプリ内のデフォルト値をオーバーライドできます。同じget メソッドがアプリ内デフォルト値と Remote Config バックエンドからフェッチされた値にアクセスするため、アプリを起動する前または後にこれを行うことができます。 Remote Config のパラメーターと値の管理と更新について詳しくは、Remote Config のテンプレートとバージョン管理をご覧ください。 | |
(必要に応じて) クライアント側のデフォルト パラメータ値を更新する | アプリを更新するときは常に、デフォルトのパラメーター値を Remote Config バックエンドと同期する必要があります。 XML、プロパティ リスト (plist)、または JSON 形式のデフォルト値のファイルをすばやくダウンロードして、REST API と Firebase コンソールを使用してアプリを更新できます。詳細については、「 Remote Config テンプレートのデフォルトをダウンロードする」を参照してください。 |
ポリシーと制限
次のポリシーに注意してください。
- ユーザーの承認が必要なアプリの更新に Remote Config を使用しないでください。これにより、アプリが信頼できないと認識される可能性があります。
- Remote Config パラメーター キーまたはパラメーター値に機密データを保存しないでください。プロジェクトの Remote Config 設定に保存されているパラメーター キーまたは値をデコードすることができます。
- Remote Config を使用して、アプリのターゲット プラットフォームの要件を回避しようとしないでください。
Remote Config のパラメータと条件には一定の制限があります。詳細については、パラメーターと条件の制限を参照してください。
次の制限に注意してください。
Firebase プロジェクトには 2,000 個の Remote Config パラメータを含めることができます。これには、パラメータと条件の制限で説明されている長さとコンテンツの制限が適用されます。
Firebase は、Remote Config テンプレートの最大 300 バージョンを保存し、保存されたテンプレートの最大有効期間は 90 日間です。テンプレートとバージョン管理を参照してください。
他のタイプのデータの保存をお探しですか?
- Cloud Firestoreは、Firebase と Google Cloud からモバイル、ウェブ、サーバーを開発するための柔軟でスケーラブルなデータベースです。
- Firebase Realtime Databaseは、ゲームの状態やチャット メッセージなどの JSON アプリケーション データを保存し、接続されているすべてのデバイス間で変更を即座に同期します。データベース オプションの違いの詳細については、データベースの選択: Cloud Firestore または Realtime Databaseを参照してください。
- Firebase Hostingは、ウェブサイトの HTML、CSS、JavaScript などのグローバル アセットや、グラフィック、フォント、アイコンなどのデベロッパーが提供するその他のアセットをホストします。
- Cloud Storageには、画像、動画、音声などのファイルや、ユーザーが生成したその他のコンテンツが保存されます。
次のステップ
- 一般的な使用例を確認して、Remote Config でできることを確認してください。
- 設計を開始します。 Remote Config のパラメーターと条件、読み込み戦略などの主要な概念と戦略を確認します。
- Remote Config とアプリの統合を開始します。 Android 、 iOS+ 、およびWebのセットアップ ガイドを参照してください。
- Remote Config パラメーター値をプログラムで読み取り、変更する方法を学びます。
- A/B テストで Remote Config 実験を作成する方法を学びます。
- Remote Config のパーソナライズを使用して、個々のユーザー エクスペリエンスを自動的に最適化し、目標を達成する方法を学びます。