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


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

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

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

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

{
  "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 によって保存された初期値から順に増えていきます。例に示すとおり、すべてのテンプレートに 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. ファイルが検証されます。検証が正常に完了した場合は、[公開] をクリックして構成をアプリとユーザーに即座に適用できます。

次のステップ