ロビーへの参加

プレイヤーは、ロビー ID を指定するか ロビーコード を提供することでロビーに参加できます。ロビーコードは自動生成される短いコードで、特定のロビーにマップされ、プレイヤーが相互に共有することを意図しています。ロビーのロビーコードはメンバー専用のロビープロパティとして使用できます。

推奨ガイド

Lobby サービスは、リクエストが最小化されたときに最適な体験を提供します。Join API は、参加呼び出しの一部としてプレイヤーデータを渡すことをサポートするため、Join 呼び出しを行ってから、ロビーに参加した後に別の Update Player 呼び出しを行うよりも最適です。

ロビー ID の指定による参加

以下のコードサンプルは、ロビー ID を指定することでロビーに参加する方法を示しています。

C#

try
{
    await LobbyService.Instance.JoinLobbyByIdAsync("lobbyId");
}
catch (LobbyServiceException e)
{
    Debug.Log(e);
}

ロビーコードの提供による参加

以下のコードサンプルは、コードを使用してロビーに参加する方法を示しています。

C#

try
{
    await LobbyService.Instance.JoinLobbyByCodeAsync("lobbyCode");
}
catch (LobbyServiceException e)
{
    Debug.Log(e);
}

一部のテキスト入力パッケージは、目に見えない文字をテキストフィールドの文字列に追加することがあり、その結果、無効な参加コードがサービスに渡される可能性があります。この種類のエラーに役立つ、コードが無効な理由についての詳細な説明を記載した InvalidJoinCode エラーを受け取ります。ユーザーが参加の際に無効な文字を入力した場合に、このエラーを処理してユーザーに通知する必要もあります。

パスワード設定があるロビーへの参加

以下のコードサンプルは、ID またはコードを使用してパスワード設定があるロビーに参加する方法を示しています。

C#

try
{
    // Join by ID:
    var idOptions = new JoinLobbyByIdOptions{Password ="mySecret"};
    await Lobbies.Instance.JoinLobbyByIdAsync("lobbyId", idOptions);

    // Join by Code:
    var codeOptions = new JoinLobbyByCodeOptions{Password ="mySecret"};
    await Lobbies.Instance.JoinLobbyByCodeAsync("lobbyId", codeOptions);
}
catch (LobbyServiceException e)
{
    Debug.Log(e);
}

一部のテキスト入力パッケージは、目に見えない文字をテキストフィールドの文字列に追加することがあり、その結果、無効なパスワードがサービスに渡される可能性があります。サービスは、これらの目に見えない文字が意図的なものかどうかを判断できないため、これを有効な IncorrectPassword エラーと区別することはできません。リクエストで送信されるパスワードが期待どおりの正確な文字列であることを確認してください。Join Lobby by Code API は、このようなエラーに関する詳細情報を提供できるため、最初にこの API を使用して UI の動作を検証できる場合があります。