使用の準備
Follow this workflow to create a JavaScript script that can prevent cheating and execute code asynchronously.
読み終わるまでの所要時間 4 分最終更新 23日前
このセクションでは、JavaScript スクリプトを作成するために必要なすべてのステップについて説明します。
Hello World のデプロイ
Cloud Code は、ゲームのカスタムサーバーサイドコードの実行を容易にします。Cloud Code サーバーでコードを実行して不正を防止し、サーバーサイドイベントに反応してコードを非同期に実行できます。Cloud Code でシンプルな "hello world" スクリプトを定義して、サービスをテストできます。前提条件
以下のスクリプトを作成する前に、これらのステップに従っていることを確認します。プロジェクトのリンク
Cloud Code サービスを使用するには、UGS プロジェクトを Unity エディターにリンクする必要があります。UGS プロジェクト ID は Unity Cloud Dashboard にあります。- Unity エディターで、Edit (編集) > Project Settings (プロジェクト設定) > Services (サービス) の順に選択します。
-
プロジェクトをリンクします。
-
プロジェクトに Unity プロジェクト ID がない場合:
- Create a Unity Project ID (Unity プロジェクト ID の作成) > Organizations (組織) の順に選択し、ドロップダウンメニューから組織を選択します。
- Create project ID (プロジェクト ID を作成) を選択します。
-
既存の Unity プロジェクト ID がある場合:
- Use an existing Unity project ID (既存の Unity プロジェクト ID を使用) を選択します。
- ドロップダウンメニューから組織とプロジェクトを選択します。
- Link project ID (プロジェクト ID をリンク) を選択します。
-
プロジェクトに Unity プロジェクト ID がない場合:
UnityEditor.CloudProjectSettings.projectIdSDK のインストール
Unity エディターの最新の Cloud Code パッケージをインストールするには、以下を行います。- Unity エディターで、Window (ウィンドウ) > Package Manager (パッケージマネージャー) を開きます。
- Package Manager で、Unity Registry (Unity レジストリ) のリストビューを選択します。
- を検索するか、リストから Cloud Code パッケージを探します。
com.unity.services.cloudcode - このパッケージを選択し、Install (インストール) をクリックします。
SDK の設定
Cloud Code SDK は、Authentication SDK にサインインした後で使用する準備ができます。Cloud Code SDK では、Unity Cloud Dashboard の Cloud Code ページで 1 つ以上のクラウドスクリプトを作成する必要があります。次に、任意の Cloud Code メソッドを呼び出して、データの操作を開始できます。 Cloud Code SDK の使用を準備するには、以下を行います。- Cloud Code サービスダッシュボードページを介してサービスが有効になっていることを確認します。
- Cloud Code と Authentication SDK の両方をインストールしたことを確認します。
- Edit (編集) > Project Settings... (プロジェクト設定...) > Services (サービス) を選択して、Unity エディター内からクラウドプロジェクトにサインインします。
- Unity エディターで新しい C# Monobehaviour スクリプトを作成します。Unity マニュアルの スクリプトの作成と使用 を参照してください。
- スクリプトで、await を使用して Core SDK を初期化します。
UnityServices.InitializeAsync() - スクリプトで、Authentication SDK を初期化します。
C#
スクリプトの設定の例と情報については、Unity Runtime からの呼び出し を参照してください。await AuthenticationService.Instance.SignInAnonymouslyAsync();
認証
アプリケーションでは通常、ゲーム開発者とプレイヤーの両方にさまざまな機能やサービスを提供し、すべてのインタラクションにおいてセキュリティ、一貫性、安全性を確保するために、ユーザーの ID を把握する必要があります。各プレイヤーには、Cloud Code サービスにアクセスするための有効なプレイヤー ID とアクセストークンが必要です。認証 を参照してください。最初のスクリプトの記述
Unity Cloud Dashboard を使用して、stringname変更を保存し、スクリプトを公開します。公開したら、以下の例に示すように、SDK エンドポイントのどれかを使用してプロジェクトから Cloud Code スクリプトを呼び出すことができます。詳細な手順については、Unity Runtime からの呼び出し を確認してください。 C#module.exports = async ({ params, logger }) => { const name = params.name; const message = `Hello, ${name}. Welcome to Cloud Code!` logger.debug(message); return { welcomeMessage: message };};
using System.Collections.Generic;using Unity.Services.Authentication;using Unity.Services.CloudCode;using Unity.Services.Core;using UnityEngine;/* * Note: You must have a published script to use the Cloud Code SDK. * You can publish a script from the Unity Cloud Dashboard - https://cloud.unity.com */public class CloudCodeExample : MonoBehaviour{ /* * CloudCodeResponse represents the response from the script, used for deserialization. * In this example, the script returns a JSON in the format * {"welcomeMessage": "Hello, arguments['name']. Welcome to Cloud Code!"} */ class CloudCodeResponse { public string welcomeMessage; } /* * Initialize all Unity Services and Sign In an anonymous player. * You can perform this operation in a more centralized spot in your project */ public async void Awake() { await UnityServices.InitializeAsync(); await AuthenticationService.Instance.SignInAnonymouslyAsync(); } /* * Populate a Dictionary<string,object> with the arguments and invoke the script. * Deserialize the response into a CloudCodeResponse object */ public async void OnClick() { var arguments = new Dictionary<string, object> { { "name", "Unity" } }; var response = await CloudCodeService.Instance.CallEndpointAsync<CloudCodeResponse>("hello-world", arguments); }}
Cloud Code スクリプトのデプロイ
スクリプトエンドポイントをゲームクライアントからアクセス可能にするには、Cloud Code サービスにスクリプトをデプロイする必要があります。 スクリプトデプロイの詳細については、スクリプトの記述 を参照してください。UGS CLI の設定
以下のステップに従って、UGS CLI の使用を準備します。- UGS CLI をインストール します。
-
プロジェクト ID と環境を以下のように設定します。
ugs config set project-id <your-project-id>
ugs config set environment-name <your-environment-name> - Cloud Code と 環境管理 に必要なロールでサービスアカウントを設定します。認証の取得 を参照してください。
スクリプトのデプロイ
以下のコマンドを実行します。ugs deploy <path-to-js-file>次のステップ
最初のスクリプトのデプロイ後に、次のステップに従います。トピック | 説明 |
|---|---|
| スクリプトの実行のテスト | ゲームクライアントへの変更を公開する前にスクリプトをテストします。 |
| スクリプトの構造 | スクリプト構造をよく理解します。 |
| CI/CD とのインテグレーション | スクリプトを CI/CD パイプラインに統合します。 |
インテグレーション
Cloud Code は、他のサービスと組み合わせると、より強力になります。トピック | 説明 |
|---|---|
| 他の Unity サービスとのインテグレーション | 他の Unity サービスを呼び出す Cloud Code スクリプトを作成します。 |
| Cloud Code Services SDK ドキュメント | スクリプトで他の Unity Gaming Services を使用します。 |
| 外部サービスとのインテグレーション | パブリックインターネットエンドポイントを呼び出します。 |
| 利用可能なライブラリ | Cloud Code スクリプトに使用可能なライブラリを確認します。 |
| ユースケース | Cloud Code を他のサービスと統合するにはユースケースのサンプルを参照してください。 |