Remote Config テンプレートとバージョニング


Remote Config テンプレートは、Firebase プロジェクト用に作成した JSON 形式のパラメータと条件のセットです。アプリが値をフェッチするクライアント テンプレートと、サーバー クライアントが値をフェッチできるサーバー テンプレートを作成できます。

このセクションでは、サーバー テンプレートについて説明します。クライアント固有のテンプレートについては、[クライアント テンプレート] をクリックします。

このテンプレートは Firebase コンソールを使用して変更や管理を行うことができます。このコンソールの[Parameters] タブと [条件] タブには、テンプレートの内容がグラフィカルに表示されます。

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

{
  "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 コンソールで実行できます。

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

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

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

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

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

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

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

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

  1. Firebase コンソールから Remote Config を開きます。

  2. 次に、[Parameters] タブで、右上に表示される時計アイコンを選択します。

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

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

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

保存されている特定のバージョンの Remote Config テンプレートを取得できます。保存されたテンプレートのバージョンを取得するには:

  1. 変更履歴の詳細ペインを開きます。

  2. 一覧内の別のバージョンの詳細情報を表示するには、右のメニューからそのバージョンを選択します。

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

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

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

  1. [変更履歴] ページの右上にあるオプション ボタンを見つけます。そのバージョンにロールバックし、すべてのアプリとユーザーに対してすぐにその値を使用する必要がある場合のみ、このボタンをクリックして確定してください。

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

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

Remote Config テンプレートは Firebase コンソールから削除できます。Remote Config テンプレートを削除するには:

1. Remote Config [パラメータ] ページで、 [変更履歴] をクリックします。
  1. 削除するテンプレートに切り替えて、 [その他] をクリックし、[削除] を選択します。

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

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. [Remote Config パラメータまたは条件] タブで メニューを開き、[現在の構成ファイルをダウンロード] を選択します。
  2. メッセージが表示されたら [構成ファイルのダウンロード] をクリックし、ファイルの保存場所を選択して [保存] をクリックします。

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

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

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

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

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

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

テンプレートを公開するには、次のコマンドを使用します。

  1. Remote Config パラメータまたは条件タブで メニューを開き、[ファイルから公開] を選択します。
  2. プロンプトが表示されたら [参照] をクリックし、公開する Remote Config ファイルを選択して [選択] をクリックします。
  3. ファイルが検証されます。検証が正常に完了した場合は、[公開] をクリックして構成をアプリとユーザーに即座に適用できます。

次のステップ