次に追加する機能
グループ
選択したプロジェクトのギルド、クラン、チームをロール付きで管理します。
Unity

確認できる結果
タイムアウトや競合時は元の操作を保持し、現在の状態を確認します。新しいリビジョンで自動再試行しないでください。
この手順の動画はまだありません。ガイドとMCPへの依頼は利用できます。
グループ
同じプロジェクトを準備する
ゲームの設定と同じプロジェクトをダッシュボードで選択してください。
グループ →最初のリクエストに追加の定義は不要です。対応するゲームデータがなければ、空の結果も正常です。
グループの作成と管理はゲーム内で行います。
最初の例はデータの読み取りです。グループ、マッチ、オブジェクトは作成しません。空のリストも正常な初回応答です。
この機能を実装する
ガイドは閲覧できます。実行には有効なプロジェクトキーが必要です。 プロジェクトを準備する
SDK をインストールし、プロジェクト設定をインポート済みで、プレイヤーがログインしていること。
この SDK サンプルは develop を使用します。必要な API がインストール済みの SDK にあるか確認してください。
クイックスタートで対象プレイヤーを接続します。ボタンやシーンの明示的な操作からReadMyGroups()を呼び出してください。ファイルを開くだけではリクエストは送信されません。
C#
1using UnityEngine;
2using PM.horizOn.Cloud.Manager;
3
4public sealed class GroupsDemo : MonoBehaviour
5{
6 // Initialize/connect once and restore the existing player in the Quickstart first.
7 // Invoke from a player action; no background refresh or membership mutation.
8 public async void ReadMyGroups()
9 {
10 var user = UserManager.Instance.CurrentUser;
11 if (user == null || !user.IsValid()) return;
12 var result = await GroupsManager.Instance.GetGroups(user.UserId);
13 if (!result.IsSuccess) { Debug.LogWarning(result.ErrorCode); return; }
14 Debug.Log($"Player revision: {result.Data.revision}");
15 foreach (var group in result.Data.groups)
16 Debug.Log($"Group {group.id}: {group.myRole}, revision {group.revision}");
17 // result.Data.limits contains all current limits; existing groups may exceed them.
18 // GetMembers(userId, groupId, afterUserId: null, limit: 1) reads one page.
19 // Keep its revision and nextAfterUserId. A changed revision requires a restart.
20 // Pending createdAt may be absent/null; it does not mean the Unix epoch.
21 }
22}
23// For writes use the SDK GroupsExample and its durable GroupsSampleStore.
24// Preserve the exact project/player, body, expected revision and pending requestId.
25// Unknown create: read/reconcile explicitly; never create with a replacement revision.
新しい機能をテストしましょう。
タイムアウトや競合時は元の操作を保持し、現在の状態を確認します。新しいリビジョンで自動再試行しないでください。
ゲームの設定と同じプロジェクトをダッシュボードで選択してください。
エンドポイント
- GET
/groups - GET
/groups/{groupId} - GET
/groups/{groupId}/members - GET
/groups/{groupId}/pending - POST
/groups - PUT
/groups/{groupId} - POST
/groups/{groupId}/join - POST
/groups/{groupId}/request - POST
/groups/{groupId}/invite - POST
/groups/{groupId}/accept-invite - POST
/groups/{groupId}/decline-invite - POST
/groups/{groupId}/cancel-invite - POST
/groups/{groupId}/accept-request - POST
/groups/{groupId}/decline-request - POST
/groups/{groupId}/cancel-request - POST
/groups/{groupId}/leave - POST
/groups/{groupId}/remove - POST
/groups/{groupId}/role - POST
/groups/{groupId}/transfer - POST
/groups/{groupId}/delete


