Skip to main content
CloudScript ハンドラーが PlayStream アクションから起動されると、そのハンドラーは実行される理由に関するより多くのデータ (コンテキスト) にアクセスでき、サーバー サイド ロジックを推進するために使用できます。 このチュートリアルでは、コンテキストで利用できるすべての情報と、CloudScript ハンドラーでそれを使用する方法について説明します。

CloudScript の基本

CloudScript を最大限に活用するためのカギは、利用可能な入力 (つまり、ハンドラーの args と context) をどのように扱うかを知ることです。 たとえば、以下は、すべての新しく作成されたタイトルで Revision 1 として読み込まれるスタート CloudScript の helloWorld の例です (GitHub でも入手可能、こちら)。
この例は、ExecuteCloudScript を介してクライアントから CloudScript を呼び出す一般的な使用ケースを示しています。キー inputValue で渡された引数をチェックし、そのキーの値を実行のデバッグ ログ情報で返されるテキストの一部として使用します。

context 入力パラメーター

ただし、Rule (Automation -> Rules)、Segment Enter/Exit Action (Players -> Segments)、または Task Service (Automation -> Tasks) を介した PlayStream 内のイベントの結果として CloudScript を呼び出すこともできます。 その場合、関数に渡される context は、適切なアクションを取るために必要なすべての情報を提供します。 PlayStream イベントの仕組みの基本について読むには、ブログ Introducing PlayStream を参照してください。PlayStream イベントの種類とそのプロパティのリストについては、PlayFab API リファレンス を参照してください。 このアクションを確認するには、同じサンプル CloudScript の handlePlayStreamEventAndProfile ハンドラーを見てください。
PlayStream によってトリガーされた CloudScript 呼び出しの場合、context にはサーバー主導のハンドラーのロジックを推進するために使用できる 3 つの要素が含まれます。
  1. 上記のサンプル コードで見られる playStreamEvent があります。playStreamEvent には、PlayStream イベント ドキュメント にあるすべてのパラメーターと共に、ハンドラーをトリガーした完全なイベントが JSON オブジェクトとして含まれます。たとえば、タイトルで任意の player_logged_in event に対して handlePlayStreamEventAndProfile を呼び出すルールを設定した場合、playStreamEvent.EventNameplayer_logged_in などになります (そのイベントのパラメーターの完全なセットはこちら)。
  2. 次に、前の例にも示されている playerProfile があります。これには、イベントをトリガーしたプレイヤーに関する情報が含まれます。プロファイル パラメーターの詳細はここで見つかりますが、他の情報の中でも、タイトル内のプレイヤーの完全な統計セット、およびプレイヤーに割り当てたカスタム タグが含まれるため、そのデータを豊富な意思決定に使用できます。
  3. コンテキストの最後の要素は triggeredByTask です。Rule および Segment Enter/Exit トリガーを使用する際に設定される最初の 2 つとは異なり、triggeredByTask はハンドラーがタスクの結果として (手動またはタイマーで) 実行されている場合にのみ適用されます。パラメーターは 2 つだけです:
  • Name - タスクを作成したときに指定した一意の名前。
  • ID - PlayFab が自動的に生成したタスクの一意の識別子。
ユーザー セグメントに対して実行されるタスクの場合は、playerProfile もありますが、playStreamEvent はありません。 セグメントなしでゲームに対して単に実行されるタスクの場合、意図はイベントのタイトル データを設定するなど、より一般的なものを実行することであるため、playerProfile はありません。 したがって、name は、実行する適切なアクションを決定するためにハンドラーのコード フローで使用する要素です。

PlayStream と CloudScript の組み合わせ

多くの点で、PlayStream アクションによってトリガーされる CloudScript ハンドラーは、ExecuteCloudScript への直接呼び出しによってトリガーされるものよりもさらに多くの潜在的な機能を持っています。コンテキストを介して提供される豊富なデータ セットがあるためです。 これにより、当初予期していなかったイベントやプレイヤー プロファイルの要素を活用する より多くの ロジックでハンドラーを起動後に更新でき、クライアント コードを更新する必要は ありません さらに、PlayFab サービスの将来の更新でプレイヤー プロファイルへの追加を継続し、サーバー サイド ロジックのための さらに多くの オプションを提供します。
最終更新日 2026年8月13日