コンテンツにスキップ

コンテンツレジストリ

コンテンツレジストリは、ゲーム内のマップ・アイテム・スキルなどの静的メタデータを管理し、テレメトリデータと紐づける機能です。

汎用のテレメトリツールでは、イベントデータに含まれる ID が何を指しているかわかりません。コンテンツレジストリを使うことで:

  • item_id: "sword_01" → 「炎の剣 (レア / 武器カテゴリ)」
  • map_id: "map_desert" → 「砂漠アリーナ (PvP マップ)」

テレメトリにゲーム文脈を付与し、意味のある分析を可能にします。

種類説明
mapゲームマップステージ、アリーナ、ワールド
itemゲーム内アイテム武器、消耗品、装備
skillスキル/アビリティ攻撃、バフ、パッシブ
characterキャラクタープレイアブル、NPC
customカスタム定義任意のゲーム要素

コンテンツレジストリのデータは、ゲームのマスタデータと同期します。

ダッシュボードから個別に登録するか、REST API で登録します。POST /v1/content エンドポイントは X-Project-Id ヘッダーを必須とし、エントリを entries エンベロープでラップします:

Terminal window
curl -X POST https://app.framedash.dev/api/v1/content \
-H "X-API-Key: fd_your_api_key_here" \
-H "X-Project-Id: your-project-uuid" \
-H "Content-Type: application/json" \
-d '{
"entries": [
{
"contentType": "item",
"contentId": "item_hp_01",
"displayName": "Health Potion",
"metadata": { "rarity": "common", "category": "consumable" }
}
]
}'

CI パイプラインから CLI でマスタデータを JSON 一括インポートします。CLI はエントリのプレーンな JSON 配列を受け付けます (entries エンベロープは不要):

Terminal window
framedash content import ./game-content.json

game-content.json の形式:

[
{
"contentType": "item",
"contentId": "item_hp_01",
"displayName": "Health Potion",
"metadata": { "rarity": "common", "category": "consumable" }
}
]

各エントリには contentTypecontentIddisplayName が必須で、metadata は任意です。

SDK でイベントを送信する際に、対応するコンテンツ ID (contentId に対応する map_iditem_id など) を含めると、ダッシュボードでコンテンツ名やメタデータが自動表示されます。