ドキュメント

サポート

Cloud Code

Cloud Code の設定

Set up Cloud Code scripts or modules to use with the Triggers service.
読み終わるまでの所要時間 2 分最終更新 23日前

Triggers サービスを使用するには、Cloud Code スクリプトまたは Cloud Code モジュールを定義する必要があります。
Cloud Code C# モジュール
タイプセーフプログラミング言語と強力な .NET コンポーネントを使用して、サーバーサイドコードを記述します。NuGet のようなツールを使用して、プロジェクトバンドル動的リンクライブラリ (DLL) 内の必要な他のコンテンツを消費します。Cloud Code C# モジュールの使用を準備します。
Cloud Code JavaScript スクリプト
サーバーサイドコードを簡単に記述して言語をイテレートします。JavaScript フロントエンドバックグランドから来た場合は、同じエコシステムを利用します。Cloud Code コマンドラインですぐに使用可能なサポートされる CommonJS および ECMAScript モジュールシステムを通じて、コードを再利用可能な部分とバンドルします。Cloud Code JavaScript スクリプトの使用を準備します。
トリガー設定を定義した場合、このスクリプトまたはモジュールは、トリガーが発生したときに実行されます。

実行の戻り値

現在、Triggers サービスは Cloud Code からの戻り値を操作しません。ゲームロジックを直接実行するモジュールとスクリプトを作成することで、これを考慮します。

コンテキスト属性

Triggers サービスはサービスアカウントによって認証されるため、特定の属性はスクリプトの
context
オブジェクトと実行中のモジュールの
IExecutionContext
インターフェースでは使用できません。
プレイヤー認証がないため、以下の属性は使用できません。
  • playerId
  • accessToken
  • unityInstallationId
  • analyticsUserId
  • correlationId
スクリプトとモジュールがこれらの属性に依存しないことを確認してください。

クロスプレイヤーデータ

Cloud Code を使用してクロスプレイヤーデータを変更するには、
serviceToken
を使用して認証し、他の UGS サービスを呼び出す必要があります。
Cloud Code ロジックを記述するときにコンテキストオブジェクトからプレイヤー ID を取得することはできません。ただし、トリガーが UGS から発行されたイベントとペアになっている場合は、多くの場合、イベントペイロードからプレイヤー ID を取得し、プレイヤーデータを操作できます。サポートされるイベントとそれらのペイロードの詳細については、サポートされる UGS イベント を参照してください。 他の Unity Gaming Services を呼び出してプレイヤーデータを取得することもできます。例えば、スクリプトまたはモジュールでこれらのサービスを呼び出すことで、Leaderboards からのプレイヤーまたは Lobby サービスのプレイヤーを取得できます。 ユースケースサンプル: ゲーム内通貨で上位プレイヤーに報酬を与える にある例を参照してください。

ペイロードパラメーター

Cloud Code モジュールおよびスクリプトは、一連のパラメーター付きで呼び出すことができます。これらのパラメーターは、イベントのペイロードで定義されます。スケジュールされたイベントのペイロードは、スケジュール設定でユーザーによって定義されます。UGS イベントの場合、イベントペイロードのコンテンツについては サポートされている UGS イベント を参照してください。 パラメーターは、他のスクリプトまたはモジュールの場合と同じ方法で定義する必要があります。 トリガーイベントのペイロードは、Cloud Code 呼び出しの引数セットとして使用されます。イベントペイロード内のキーに一致する定義済みパラメーターが設定されます。すべてのイベントペイロードには
projectId
environmentId
correlationId
が自動的に含まれます。
例えば、以下のスクリプトに文字列パラメーター
name
がある場合、

JavaScript

module.exports = async ({ params, context, logger }) => { return "Hello " + params.name;};
または、モジュールに文字列パラメーター
name
を持つ関数
SayHello
がある場合、
using Unity.Services.CloudCode.Core;namespace ExampleModule;public class MyModule{ [CloudCodeFunction("SayHello")] public string Hello(string name) { return $"Hello, {name}!"; }}
スケジュールされた設定のペイロードを以下のように定義します。
{ "name": "hello-world-test", "eventName": "hello-world-test", "type": "one-time", "schedule": "2023-08-28T15:20:00Z", "payloadVersion": 1, "payload": "{\"name\": \"World\"}"}
トリガーが発生すると、ペイロードパラメーターが設定された Cloud Code スクリプトまたはモジュールが実行されます。