PlayStream イベントでカスタム タグを使用する

カスタム タグは、スタジオが必要に応じてすべての API 要求に含めることができるキーと値のペアのコレクションです。 これらは、より多くのスタジオ固有のメタデータ (ビルド番号、外部トレース識別子など) を使用して標準の PlayStream イベントを強化するのに役立ちます。

カスタム タグは、PlayStream イベントを使用する方法を拡張します。 基本的な PlayStream スキーマは修正されており、拡張性はありませんが、一般的なメトリックと分析を構築することができました。 スキーマの固定の性質により、ゲーム スタジオは効率的かつ経済的な方法でデータをカスタマイズできるだけでなく、特定のデータ ポイントを収集する機能も制限されています。 カスタム タグは、スキーマを拡張し、柔軟性と機能を向上させる方法を提供します。

カスタム タグでできること

カスタム タグを使用して実行できることは、たくさんあります。 いくつかの提案を次に示しますが、使用する際は、よりクリエイティブさを発揮してください。

自動化

PlayStream メタデータは、特定のイベントをトリガーする条件として機能できます。 タスクを完了する必要がある場合、PlayFab のお客様は、「[カスタム タグ] が xyz 要件を満たす場合、アクション A を起動する」というルールを設定できます。

CloudScript とカスタム タグを統合して自動化を実現できます。 CloudScript のアクションとルールを使用すると、特定の条件に基づいてイベントを自動的に発生させることができます。

たとえば、ゲーム スタジオがゲームのパフォーマンス マーケティングに投資していおり、さまざまな異なるマーケティング キャンペーンを実行して新しいプレイヤーを獲得している場合、プレイヤーを獲得したマーケティング キャンペーンを追跡し、そのキャンペーン ID をすべての PlayStream イベントに追加できるようになりました。 その後、そのキャンペーン ID を使用してプロセスを自動化できます。 たとえば、広告で「サインアップ用に 1,000 個の無料のゴールド コイン」を約束した場合は、「新しいプレイヤー」イベントを送信し、マーケティング キャンペーンを使用してプレイヤーに与えるインセンティブを決定します。 たとえば、マーケティング キャンペーン = 'FREE_GOLD_COINS' の場合は、プレイヤーに 1,000 ゴールド コインを与えます。

テレメトリ

PlayStream メタデータは、データの収集および分析に役立ちます。 たとえば、PlayFab 以外のサービスから PlayStream イベント データの一部としてカスタム タグを送信し、データ パイプラインを通過する際にそれを追跡できます。 既に独自の分析システムがある場合 (識別子に基づく場合など)、PlayStream イベントの一部としてカスタム タグにその識別子を渡すことで、新しいデータを簡単に統合およびマージできます。

キャンペーン ID またはその他の分析識別子を含めて収益を分析し、最も新しいプレイヤー獲得、収益ストリーム、または顧客価値を生成したキャンペーンを決定できます。

データ フロー

API 要求からカスタム タグを受信すると、データは PlaySteam イベントの一部になり、PlaySteam パイプラインを通過して PlayFab のバックエンド データ ウェアハウスである Kusto に格納されます。

制限事項

  • カスタム タグには次の制限があります。
    • キーと値のペアが 10 個未以下
    • 各キー文字列は UTF-8 で 64 文字以下にする必要があります
    • 各値の文字列は UTF-8 で 128 文字以下にする必要があります
    • API 呼び出しでのみサポートされます (つまり、ゲーム マネージャー UI ではサポートされません)

はじめに

次のサンプル要求では、JSON 要求にカスタム タグを追加する方法を示します。 CustomTags は、関連する PlayStream イベントがデータ パイプラインを通過する際に従います。このデータに後でアクセスして、実用可能で分析的な目的でアクセスできます。

サンプル要求

POST https://titleId.playfabapi.com/Server/WritePlayerEvent
{
  "PlayFabId": "{{PlayFabId}}",
  "EventName": "player_defeated_enemy",
  "Timestamp": "2016-03-07T00:00:00Z",
  "Body": {
    "Enemy": "guardian",
    "Damage": 5,
    "Coordinates": {
      "X": 123.4,
      "Y": 543.2
    }
  },
  "CustomTags": {
    "correlation_id": "123abc",
    "build_number": "1.0.0.0",
    "platform": "iOS"
  }
}

サンプル応答

カスタム タグを追加しても、エンドポイントへの呼び出しから受け取る応答は変更されません。 CustomTag node を追加した後の応答は、ノードが存在しない場合に受け取る応答と同じです。