Cloud Code C# モジュール

モジュールは、Cloud Code サービスが再利用可能なサーバー認証コードを提供するために実行できる C# ライブラリです。単一のスクリプトとは異なり、これらのモジュールでは複数のエントリーポイントが可能で、モジュール内でのコードの再利用が簡単になります。

メインライブラリとデータ転送オブジェクト (DTO) ライブラリを作成することもできます。Cloud Code クライアントとゲーム間で転送するすべてのデータが確実に同じ形式を使用するように、Cloud Code クライアントとゲームの両方でこれらを使用できます。

Unity で作成されたゲームから、または他のクライアントまたはサーバーからモジュールを呼び出すことができます。

オーサリング方法説明
Unity DashboardUnity Dashboard を使用して、デプロイしたモジュールのリストをプレビューします。同じ場所から Remote Config などの他の Unity Gaming Services にアクセスできます。
Unity エディターUnity エディターを使用して、Deployment (デプロイ) ウィンドウを使用したモジュールの作成とデプロイ、ワークフローの自動化を行い、他の Unity サービスとともに Cloud Code をデプロイします。
Unity Gaming Services CLICLI を使用して、コマンドラインからモジュールをデプロイおよび管理します。一度に複数の Unity サービス設定をデプロイし、CI/CD と統合します。

Cloud Code C# モジュールは、UnityEngine 名前空間または [Unity のスクリプティング API] の他の場所からのクラスを使用できません。これは、Cloud Code がオープンソース [.NET ランタイム] を使用するからです。これは Unity Runtime から分離されており、その [スクリプティングバックエンド] のいずれにも依存しません。

典型的なワークフロー

以下のプロセスは、一般的な開発サイクルの詳細を示します。

  1. C# ライブラリプロジェクトを作成 します。すでに C# コードに精通している IDE でモジュールプロジェクトを作成します。
  2. コードを記述 します。Cloud Code C# サービス SDK を使用して、他の Unity サービス と統合します。HTTP クライアントを使用して、外部サービスと統合 します。
  3. テストおよびデバッグ します。モジュールの単体テストプロジェクトを作成して、すべてが意図したとおりに動作することを検証するか、開発環境にライブラリをデプロイして実際のユーザーデータでテストします。
  4. モジュールをデプロイ します。UGS CLI を介してライブラリをデプロイし、Cloud Code 内で使用可能にします。
  5. モジュールをプロジェクトと統合 します。Cloud Code SDK をゲームにインポートし、提供されているメソッドのどれかを使用してスクリプトを呼び出します。

基本概念

Cloud Code モジュールの基本概念を説明します。

トピック説明
モジュールプロジェクトの作成モジュールの作成方法を説明します。
モジュール構造モジュールプロジェクトの構造を説明します。
コードのパッケージ化モジュールコードをデプロイのために .ccm ファイルにパッケージ化する方法について説明します。
モジュールの記述UGS CLI または REST API を使用してモジュールを記述する方法を説明します。
モジュールの実行REST API を使用するか Multiplay サーバー から、Unity Runtime のモジュールを実行する方法を説明します。
エラー処理モジュール内でエラーを処理する方法を説明します。
ロギングロギングを使用してモジュールをデバッグする方法を説明します。

ワークフローの改善

モジュールの開発とデプロイを合理化するには、プロセスを自動化します。

トピック説明
CI/CD とのインテグレーションモジュールのデプロイを CI/CD パイプラインと統合します。
ローカルデプロイの自動化Cloud Code サービスへのモジュールのデプロイを自動化します。

開発の要点

開発を容易にするために、モジュールでは依存性注入、DTO、およびカスタムシリアル化がサポートされます。

トピック説明
依存性注入コードで依存関係を分離する方法を説明します。
単体テストモジュールの単体テストを記述する方法を説明します。
データ転送オブジェクトデータ転送オブジェクトを使用して、Cloud Code クライアントとゲーム間で転送されるすべてのデータが同じ形式を使用することを確認する方法を説明します。
カスタムシリアル化Newtonsoft.Json プロパティを使用してカスタムシリアル化を使用する方法を説明します。

さらなるインテグレーション

モジュールを他の Unity Gaming Services や任意の外部サービスと統合し、クロスプレイヤーデータにアクセスできます。

C# SDK を使用して他のサービスと統合するには、NuGet パッケージをインストールするか、HTTP クライアントを使用できます。

トピック説明
認証Cloud Code でゲームクライアントを認証する方法を説明します。
サービスとアクセストークンのサポートサービスおよびアクセストークンを使用してモジュールを認証する方法を説明します。
利用可能なライブラリCloud Code モジュールに含まれる利用可能な UGS SDK があります。
アクセス制御アクセスを制御し、望ましくない使用を防ぐ方法を説明します。
Unity サービスとのインテグレーションCloud Code を他の Unity サービスに接続する方法を説明します。
外部サービスとのインテグレーション外部サービスと統合する方法を説明します。
クロスプレイヤーデータの操作他のプレイヤーのデータにアクセスして更新する方法を説明します。
プレイヤーへのプッシュメッセージの送信プレイヤーにプッシュメッセージを送信する方法を説明します。