Remote Config サーバー テンプレートとバージョニングを管理する

テンプレート タイプを選択: クライアント テンプレート サーバー テンプレート


Remote Config テンプレートは、Firebase プロジェクト用に作成された JSON 形式のパラメータと条件のセットです。サーバー テンプレートは、Remote Config の Firebase Admin SDK を使用して、サーバー インスタンスに構成を提供します(Node.js、Java、Python、Go で使用可能)。

Firebase コンソールを使用して、サーバー テンプレートを変更および管理できます。[DevOps & エンゲージメント] > [Remote Config] に移動して、[パラメータ] ページと [条件] ページでテンプレートの内容をグラフィカルに表示します。

サーバー テンプレート ファイルの例を次に示します。

{
  "parameters": {
    "preamble_prompt": {
      "defaultValue": {
        "value": "You are a helpful assistant who knows everything there is to know about Firebase! "
      },
      "description": "Add this prompt to the user's prompt",
      "valueType": "STRING"
    },
    "model_name": {
      "defaultValue": {
        "value": "gemini-pro-test"
      },
      "valueType": "STRING"
    },
    "generation_config": {
      "defaultValue": {
        "value": "{\"temperature\": 0.9, \"maxOutputTokens\": 2048, \"topP\": 0.9, \"topK\": 20}"
      },
      "valueType": "JSON"
    }
  },
  "version": {
    "versionNumber": "19",
    "isLegacy": true
  }
}

Firebase コンソール([DevOps とエンゲージメント] > [Remote Config] に移動)で、次のバージョン管理タスクを実行できます。

  • 保存されているすべてのテンプレート バージョンの一覧表示
  • 特定のバージョンの再取得
  • 特定のサーバー バージョンにロールバックする
  • [ 変更履歴] ページで Remote Config テンプレートを削除します。

テンプレート タイプごとに、保存される生涯バージョン数の上限は 300 個(300 個のクライアント テンプレートと 300 個のサーバー テンプレート)です。これには、削除されたテンプレートの保存バージョン番号も含まれます。プロジェクトの有効期間中にテンプレート タイプごとに 300 を超えるテンプレート バージョンを公開すると、最も古いバージョンが削除され、そのタイプのバージョンは最大 300 個まで維持されます。

パラメータを更新するたびに、Remote Config により新しいバージョンの Remote Config テンプレートが作成されます。前のテンプレートは、必要に応じて再取得またはロールバックできるバージョンとして保存されます。バージョン番号は、Remote Config によって保存された初期値から順に増えていきます。例に示すとおり、すべてのテンプレートに version フィールドがあり、その特定のバージョンに関するメタデータが含まれています。

必要に応じて、Firebase コンソールの [DevOps & Engagement] > [Remote Config] > [変更履歴] ページで Remote Config テンプレートを削除できます。

Remote Config テンプレートのバージョンを管理する

このセクションでは、Remote Config サーバー テンプレートのバージョンを管理する方法について説明します。

保存されているすべての Remote Config テンプレートのバージョンを一覧表示する

保存されているすべての Remote Config テンプレート バージョンの一覧を取得できます。操作:

  1. Firebase コンソールで、[DevOps & エンゲージメント] > [Remote Config] > [パラメータ] ページに移動します。

  2. 右上に表示される時計アイコンを選択します。

    [変更履歴] ページが開き、保存されているすべてのテンプレート バージョンが右側のリストメニューに一覧表示されます。

    テンプレートのリストには、更新の時刻、更新を行ったユーザー、更新方法など、保存されているすべてのバージョンのメタデータが含まれます。

Remote Config テンプレートの特定のバージョンを取得する

保存されている特定のバージョンの Remote Config テンプレートを取得できます。保存されたテンプレートのバージョンを取得する方法は次のとおりです。

  1. Firebase コンソールで、[DevOps & エンゲージメント] > [Remote Config] > [変更履歴] ページに移動します。

  2. デフォルトでは、このページに現在アクティブなテンプレートが表示されます。別のバージョンを表示するには、右側の詳細ペインでそのバージョンを選択します。

  3. アクティブなテンプレートと保存されている別のバージョンの詳細な差分を表示するには、選択されていないバージョンのコンテキスト メニューにカーソルを合わせて、[選択したバージョンと比較] を選択します。

Remote Config テンプレートの特定の保存済みバージョンにロールバックする

保存されている任意のバージョンのテンプレートにロールバックできます。テンプレートをロールバックする方法は次のとおりです。

  1. Firebase コンソールで、[DevOps & エンゲージメント] > [Remote Config] > [変更履歴] ページに移動します。

  2. ロールバック可能な以前のテンプレート バージョンのページの右上にあるオプション ボタンを見つけます。

  3. そのバージョンにロールバックし、すべてのアプリとユーザーに対してすぐにその値を使用する必要がある場合のみ、このボタンをクリックして確定してください。

このロールバック操作を行うと、実際には新しい番号のバージョンが作成されることに注意してください。たとえば、バージョン 10 からバージョン 6 にロールバックすると、実際にはバージョン 6 の新しいコピーが作成されます。この新しいコピーは元のバージョンと同じですが、バージョン番号が 11 であるという点のみ異なります。有効期限が切れていないと仮定すると、元のバージョン 6 は保存されたままで、バージョン 11 がアクティブなテンプレートになります。

Remote Config テンプレートを削除する

Firebase コンソールを使用して Remote Config テンプレートを削除できます。テンプレートを削除する方法は次のとおりです。

  1. Firebase コンソールで、[DevOps & エンゲージメント] > [Remote Config] > [パラメータ] ページに移動します。

  2. [ 変更履歴] をクリックします。

  3. 削除するテンプレートに切り替えて、 [その他] をクリックし、[削除] を選択します。

  4. 削除を確認するメッセージが表示されたら、[削除] をクリックします。

Remote Config テンプレートをダウンロードして公開する

Remote Config テンプレートをダウンロードして公開することにより、テンプレートをソース管理システムやビルドシステムに統合したり、構成の更新を自動化したり、複数のプロジェクト間でパラメータと値を同期したりできます。

現在アクティブな Remote Config テンプレートは、Firebase コンソールからダウンロードできます。その後、エクスポートされた JSON ファイルを更新して同じプロジェクトに公開したり、新規または既存のプロジェクトに公開したりすることができます。

たとえば、開発環境、テスト環境、ステージング環境、本番環境など、ソフトウェア開発ライフサイクルのさまざまな段階にある複数のプロジェクトがあるとします。この場合、十分にテストされたテンプレートをステージング環境から本番環境に昇格させるには、ステージング プロジェクトからテンプレートをダウンロードして本番環境プロジェクトに公開します。

この方法を使用して、プロジェクト間で構成を移行したり、確立されたプロジェクトのパラメータと値を新しいプロジェクトに入力したりすることもできます。

A/B Testing のテストでバリアントとして作成されたパラメータとパラメータ値は、エクスポートされるテンプレートには含まれません。

Remote Config テンプレートをエクスポートしてインポートする手順は次のとおりです。

  1. 現在の Remote Config テンプレートをダウンロードします。
  2. Remote Config テンプレートを検証します。
  3. Remote Config テンプレートを公開します。

現在の Remote Config テンプレートをダウンロードする

アクティブな Remote Config テンプレートを JSON 形式でダウンロードするには、次の方法を使用します。

  1. Firebase コンソールで、[DevOps & エンゲージメント] > [Remote Config] > [パラメータまたは条件] ページに移動します。

  2. メニューを開き、[現在の構成ファイルをダウンロード] を選択します。

  3. メッセージが表示されたら [構成ファイルのダウンロード] をクリックし、ファイルの保存場所を選択して [保存] をクリックします。

Remote Config テンプレートを検証する

サーバー テンプレートは、Firebase コンソールから公開を試みるときに検証されます。ランダム パーセンテージのユーザー ルールを使用する条件はインポートできますが、サポートされていない条件ではアップロード時にエラーが発生します。クライアント テンプレートからエクスポートされたテンプレートを公開する場合は、まずクライアント固有の条件を削除してください。

Remote Config テンプレートを公開する

テンプレートをダウンロードして JSON コンテンツに対して必要な変更を加え、検証した後、そのテンプレートをプロジェクトに公開できます。

テンプレートを公開すると、既存の構成テンプレート全体が更新後のファイルに置き換えられ、テンプレートのバージョンが 1 つ増えます。構成全体が置き換えられるため、JSON ファイルからパラメータを削除してからテンプレートを公開すると、パラメータはサーバーから削除され、クライアントはそのパラメータを使用できなくなります。

公開すると、パラメータと値の変更内容はアプリとユーザーに即座に適用されます。必要に応じて、前のバージョンにロールバックできます。

テンプレートを公開する手順は次のとおりです。

  1. Firebase コンソールで、[DevOps & エンゲージメント] > [Remote Config] > [パラメータまたは条件] ページに移動します。

  2. メニューを開き、[ファイルから公開] を選択します。

  3. プロンプトが表示されたら [参照] をクリックし、公開する Remote Config ファイルを選択して [選択] をクリックします。

  4. ファイルが検証されます。検証が成功したら、[公開] をクリックして構成をアプリとユーザーに即座に適用します。

次のステップ