Skip to main content

マッチメイキング REST API クイックスタート

Multiplayer SDK の使用を強く推奨します。リアルタイム メッセージのサポートが含まれており、ポーリングの必要性が低減されます。これによりマッチメイキング体験が改善され、遅延が減少します。クイックスタート - Client SDK
このクイックスタート ガイドでは、マッチメイキング機能を統合するプロセス全体を説明します。このクイックスタート内のすべてのコード例は Unity 用ですが、コンセプトとフローは (一般的に) 他のプラットフォームにも当てはまります。 ゲームの設計に応じて、単一ユーザー複数ユーザー のマッチメイキング セクションを検討してください。 このチュートリアルでは、ゲームを見つけるために特定のキューにチケットを送信する方法を示します。キューは通常、1 つのゲーム モードまたは複数のゲーム モードに対応します (例: 同じキュー内での capture the flag モードと king of the hill モード)。 マッチメイキング サービスは、キュー内のチケット間でのマッチの発見を処理します。マッチが見つかったら、タイトルはプレイヤー同士をゲームプレイのために接続する処理を行う必要があります。

Game Manager でマッチメイキング キューを構成する

このクイックスタートは、Game Manager でキューを構成済みであることを前提としています。設定方法の詳細については、マッチメイキング キューの構成 を参照してください。

単一ユーザーのチケット マッチメイキング

ゲームに 1v1 のゲーム モードがある、または単一ユーザーが 1 人でマッチメイキングに入ることをサポートする場合、単一ユーザー マッチメイキングを検討してください。単一ユーザー マッチメイキングは以下のパターンに従います。

マッチメイキング チケットを作成する

ユーザーは CreateMatchmakingTicket を使用してマッチメイキング チケットを作成します。チケット作成が成功すると、サービスは TicketId を返します。 チケットの作成では、Creator (ユーザーのアイデンティティと属性)、GiveUpAfterSeconds (サービスがチケットのマッチングを諦めるまでの秒単位の時間)、およびマッチを検索する QueueName を指定する必要があります。 Creator フィールドには、QueueName と一致するキュー構成が必要とするユーザー属性を含める必要があります。ユーザーが自分自身で諦めるのを防ぐため、GiveUpAfterSeconds の時間の適切な値は 120 秒です。

マッチメイキング チケットのステータスを確認する

マッチメイキング内のチケットの Status にアクセスするには、TicketId によりサービスをポーリングする必要があります。そのために、タイトルから GetMatchmakingTicket を呼び出します。1 分間に最大 10 回までポーリングできます。たとえば、6 秒ごとにチケットの状態をポーリングします。ポーリングを行うと、チケットのステータス取得の遅延が増加する可能性があります。このため、クイックスタート - Client SDK で説明されている Multiplayer SDK の方法の使用を強く推奨します。これによりリアルタイム メッセージ機能を使用してポーリングの必要性がなくなります。 チケットのステータスが Matched に変わると、クライアントはチケットのポーリングを停止できます。その時点から、チケットには MatchId が含まれます。

マッチを取得する

クライアントから、GetMatchmakingTicket の応答で提供された MatchId を指定して GetMatch を呼び出します。このマッチには、一緒にマッチされたユーザーのリストが含まれます。

マッチメイキング チケットをキャンセルする

何らかの理由で、GiveUpAfterSeconds に達する前にクライアントがマッチメイキング処理をキャンセルしたい場合は、TicketId を指定して CancelMatchmakingTicket を呼び出します。まだマッチが見つかっていない場合、チケットはマッチメイキング プロセスから外され、そのステータスは Canceled に変わります。

複数ユーザーのチケット マッチメイキング

ゲームで、プレイヤーのグループが一緒にマッチメイキング キューに入ることを許可する場合、マッチメイキングに入るためにさらにいくつかの手順が必要です。不要な呼び出しを避けるため、タイトルではグループ リーダー (作成者) を割り当てることをお勧めします。リーダーがチケットを作成しますが、グループのすべてのメンバーが参加に同意する必要があります。

マッチメイキング チケットを作成する (複数ユーザー)

タイトルで、グループがチケットの作成者を選出する必要があります。作成者は CreateMatchmakingTicket を使用してマッチメイキング チケットを作成し、成功時に TicketId を返します。チケットの作成では、Creator (ユーザーのアイデンティティと属性)、GiveUpAfterSeconds (サービスがチケットのマッチングを諦めるまでの秒単位の時間)、MembersToMatchWith (他のグループ メンバーのアイデンティティ)、およびマッチを検索する QueueName を指定する必要があります。 Creator フィールドには、QueueName と一致するキュー構成が必要とするユーザー属性を含める必要があります。ユーザーが自分自身で諦めるのを防ぐため、GiveUpAfterSeconds の時間の適切な値は 120 秒です。

グループ メンバーがマッチ チケットに参加する

マッチ チケットが作成されたら、マッチメイキング プロセスを進めるために、他のグループ メンバーが参加する必要があります。この時点で、チケットは WaitingForPlayers ステータスにあります。すべての MembersToMatchWith がチケットに参加するまで、他のチケットとのマッチングは開始されません。 メンバーを参加させるには、Creator がタイトルを介して他のメンバーに TicketId を共有する必要があります。その後、各メンバーは自身に必要な属性を提供して JoinMatchmakingTicket を呼び出します。すべてのメンバーがチケットに参加すると、チケット ステータスは WaitingForMatch になります。
残りのプロセスは 単一ユーザーのチケット マッチメイキング と同じです。

プレイヤー同士を接続する

プレイヤーがマッチした後は、サーバー経由またはピアツーピア接続のいずれかで、プレイヤー同士を接続したくなります。 専用サーバーを使用している場合、マッチ ID を使用して、彼らが属すべきプレイヤーのグループを一意に識別できます。PlayFab のマルチプレイヤー サーバーを使用している場合、GetMatch はプレイヤーが接続するサーバーとポートを提供します。 詳細については、PlayFab Multiplayer Servers との統合 を参照してください。 このリリース時点では、マッチメイキングによるピアツーピア接続は正式にはサポートされていません。ピアツーピアが必要な場合は、PlayFab Party の使用、または 暫定的な回避策 を検討してください。これについてさらにサポートが必要な場合は、お問い合わせください。

まとめ

このクイックスタートを使用することで、ゲームでマッチメイキング フローを成功させられるようになりました。加えて、以下の点を検討してください。
  • タイトルがグループ形成をどのように処理するか。
  • ユーザーがマッチを待つ間、タイトルに何を表示するか。
  • 失敗と再試行の処理方法。
最終更新日 2026年8月13日