PlayStream

PlayStream は、デベロッパーに以下の機能を提供します。

  • イベントパイプライン - ゲームからのデータフロー全体を単一のデータストリームに統合します。 PlayFab ゲームサービスは自動的にイベントを PlayStream に挿入し、新しい WriteEvent API クライアントおよびサーバーメソッドを使用してカスタムイベントを追加できます。 マーケットプレイスの追加コンテンツによっても自動的にイベントが生成されます。 イベントは、JSON データとして管理されます。
  • リアルタイムルールエンジン - PlayStream を介して着信イベントに応答して複雑なルールを評価し、CloudScript を含むさまざまなアクションをトリガーできます。
  • リアルタイムセグメンテーションシステム - さまざまなプレーヤープロパティに基づいてプレーヤーをセグメントごとにグループ化できます。 セグメントはリアルタイムで計算され、常に最新の状態です。 プレイヤーがセグメントに入った際に自動的にアクションをトリガーすることもできます。
  • イベントデータのリアルタイム可視化 - リアルタイムイベントデバッガーが含まれます。
  • Web フックを使用して外部の Web サービスに一部またはすべてのイベントを送信する機能: マーケットプレイスの追加コンテンツをインストールすることで自動的にこれを構成するか、イベントを自分のサーバーに送信するように手動で構成できます。
  • イベント アーカイブ - イベント配信履歴など、イベント履歴をフィルタ処理、検索、表示できます。

これらの機能をさらに詳しく見てみましょう。

注意

PlayStreamは、エンティティイベントおよび従来の PlayStream イベントのサポートを提供するようになりました。 詳しくは、この記事の終了後に PlayStream with entity events の記事を参照してください。

PlayStream イベント パイプラインとモニター

実際のイベント パイプラインを確認する最も簡単な方法は、PlayStream デバッガーを使用することです。 ゲームの [PlayStream Monitor (PlayStream モニター)] ] タブをクリックすると、すぐにモニターが表示されます。

PlayStream モニター

PlayStream モニターは、WriteEvent API メソッドを使用して、送信することを選択したカスタムイベントを含む、ゲームのすべてのイベントのリアルタイムストリームです。

これは、クライアント側とサーバー側のコードをテストするときに、バックエンドで何が起こっているかをすぐに確認する方法を提供するため、開発のために非常に貴重です。 また、プレーヤーアカウントに直接リンクしているため、作業中のゲームロジックと照合することができます。

各イベントには、複数の選択可能なフィールドがあります。 「(i)」情報サークルを選択すると、未加工のイベント JSON データが表示されます。

イベントの未加工 JSON データ

また、プレイヤーの ID を選択して、プレイヤーのプロファイルに直接移動できます。 特定のその他のイベントにも選択可能なフィールドがあります。

プレイヤーのセグメント化とアクション

これらのイベントを使用して、ほとんどのプレイヤー プロパティに基づいてユーザー内のプレイヤーを定義するセグメントを設定できます。 これはすべてリアルタイムで発生するため、大規模であっても認識できる遅延はありません。

差別化要因として使用するものにイベントを結びつけることができれば、それによってセグメントを作成できます。 セグメントは、プロファイルのデータに基づいてすべてのプレイヤーに遡って適用されます。そのため、「経験値 > 3,000」というプレイヤーのセグメントを定義した場合、その時点で経験値が 3,000 を超えているすべてのプレイヤーがそのセグメントに入ります。

高経験値セグメントの定義

この特定のセグメントは、「Total_XPGained」という統計が変更されると常に評価されます。 条件 (> 3000) に適合すると評価された場合、プレイヤーは「高経験値プレイヤー」のセグメントに入り、対応するアクションがトリガーされます。この場合はプッシュ通知が送信され、ゴールドが付与されます。

プレーヤーがセグメントを離れたときにさまざまなカスタムアクションをトリガーして、結果として必要なその他の変更を加えることもできます。

プレイヤーへのアイテムの付与、仮想通貨の付与、統計情報の変更、プレイヤーのプレイ禁止、プレイヤーへのメールまたはプッシュ通知の送信など、さまざまな基本アクションを利用できます。 また、代わりに CloudScript を実行するようにトリガーすることもできます。

ルールとアクション

上記と同じアクション システムをゲームからの特定のイベントに応答するために使用できます。 たとえば、以下に示すルールは、カスタムイベント (Client_StoreVisit) が表示され、プレーヤーが仮想通貨を受け取り、訪問を感謝するプッシュ通知を受け取る方法を示しています。

カスタム イベントに応答するルール

ルールとアクションを使用して、ゲームのクライアントに変更を加えずにゲームの LiveOps ビヘイビアに影響を与えることができます。

Web フック

Playhook を通過するイベントの一部またはすべてが外部サービスにプッシュされるように、Web フックをセットアップすることもできます。

たとえば、以下に示す機能を使用して、任意のプレイヤー ログインに対して独自のバックエンド サーバーを呼び出すことができます。

Web フック構成

PlayStream Webhook は、指定されたエンドポイントへの POST 呼び出しであり、呼び出しの本文にあるイベントのすべてのデータを渡します。 このメカニズムを使用して、リアルタイム データに対して独自のカスタム サービスを使用した追加のカスタム アクションが可能となります。

イベント履歴

また、イベントの履歴アーカイブにアクセスすることもできます。 既定では、イベントはサービス層に応じて一定期間保存されます。 イベント履歴は2か所で表示できます。タイトルのすべてのイベントを PlayStream イベント履歴タブで表示するか、特定のプレーヤーのイベントのみをそのプレーヤーの PlayStream タブで表示できます。

イベント履歴

特定のイベントの左側にある矢印を選択して、配信履歴を含むそのイベントの詳細のみを表示できます。 たとえば、以下に示すイベントは、Appuri (レガシーおよび現在)、および Segment.com という 3 つの異なるマーケットプレイス追加コンテンツに配信されています。 イベント名をクリックして、その名前のすべてのイベントでイベントのリストをフィルタリングできます。

イベント履歴の詳細

カスタム タグ

カスタムタグ機能を使用すると、ゲーム開発者は標準の PlayStream イベントをビジネス固有のメタデータでさらに充実させることができます。

これは、PlayFab 上での構築をより簡単に、より拡張できるように設計された生活の質の機能です。

PlayStream の概要