Cloud Code C# モジュール
モジュールは、Cloud Code サービスが再利用可能なサーバー認証コードを提供するために実行できる C# ライブラリです。単一のスクリプトとは異なり、これらのモジュールでは複数のエントリーポイントが可能で、モジュール内でのコードの再利用が簡単になります。
メインライブラリとデータ転送オブジェクト (DTO) ライブラリを作成することもできます。Cloud Code クライアントとゲーム間で転送するすべてのデータが確実に同じ形式を使用するように、Cloud Code クライアントとゲームの両方でこれらを使用できます。
Unity で作成されたゲームから、または他のクライアントまたはサーバーからモジュールを呼び出すことができます。
オーサリング方法 | 説明 |
---|---|
Unity Dashboard | Unity Dashboard を使用して、デプロイしたモジュールのリストをプレビューします。同じ場所から Remote Config などの他の Unity Gaming Services にアクセスできます。 |
Unity エディター | Unity エディターを使用して、Deployment (デプロイ) ウィンドウを使用したモジュールの作成とデプロイ、ワークフローの自動化を行い、他の Unity サービスとともに Cloud Code をデプロイします。 |
Unity Gaming Services CLI | CLI を使用して、コマンドラインからモジュールをデプロイおよび管理します。一度に複数の Unity サービス設定をデプロイし、CI/CD と統合します。 |
Cloud Code C# モジュールは、UnityEngine
名前空間または [Unity のスクリプティング API] の他の場所からのクラスを使用できません。これは、Cloud Code がオープンソース [.NET ランタイム] を使用するからです。これは Unity Runtime から分離されており、その [スクリプティングバックエンド] のいずれにも依存しません。
典型的なワークフロー
以下のプロセスは、一般的な開発サイクルの詳細を示します。
- C# ライブラリプロジェクトを作成 します。すでに C# コードに精通している IDE でモジュールプロジェクトを作成します。
- コードを記述 します。Cloud Code C# サービス SDK を使用して、他の Unity サービス と統合します。HTTP クライアントを使用して、外部サービスと統合 します。
- テストおよびデバッグ します。モジュールの単体テストプロジェクトを作成して、すべてが意図したとおりに動作することを検証するか、開発環境にライブラリをデプロイして実際のユーザーデータでテストします。
- モジュールをデプロイ します。UGS CLI を介してライブラリをデプロイし、Cloud Code 内で使用可能にします。
- モジュールをプロジェクトと統合 します。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 サービスに接続する方法を説明します。 |
外部サービスとのインテグレーション | 外部サービスと統合する方法を説明します。 |
クロスプレイヤーデータの操作 | 他のプレイヤーのデータにアクセスして更新する方法を説明します。 |
プレイヤーへのプッシュメッセージの送信 | プレイヤーにプッシュメッセージを送信する方法を説明します。 |