> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Invitations de lobby

> Envoyez et acceptez des invitations PlayFab Lobby, utilisez des écouteurs d'invitations et contrôlez qui peut inviter d'autres joueurs grâce aux privilèges des membres et du propriétaire du lobby.

Cet article présente les invitations de lobby et explique comment les utiliser dans le SDK Lobby et Matchmaking.

<Note>
  Seuls les joueurs (c'est-à-dire les entités PlayFab title\_player\_account) peuvent envoyer ou recevoir des invitations. Les serveurs de jeu (c'est-à-dire les entités PlayFab game\_server) ne le peuvent pas. Pour plus de renseignements sur la façon dont les serveurs de jeu interagissent avec les lobbies, consultez [Serveurs de jeu et lobbies](/fr-CA/services/playfab/multiplayer/lobby/lobby-server-overview).
</Note>

## Types d'invitations

Votre jeu est susceptible d'utiliser deux types d'invitations.

1. [Invitations en jeu](#joining-a-lobby-by-in-game-invites)
2. [Invitations de plateforme](#joining-a-lobby-by-platform-invites)

<a id="joining-a-lobby-by-in-game-invites" />

### Rejoindre un lobby grâce aux invitations en jeu

* Un membre d'un lobby peut inviter un autre joueur dans ce lobby directement au moyen du service de lobby.
* Le propriétaire du lobby peut choisir de réserver l'envoi d'invitations au seul propriétaire au moyen de la propriété de lobby **RestrictInvitesToLobbyOwner**
* Cette invitation partage la chaîne de connexion du lobby avec le joueur invité.
* Le joueur invité reçoit l'invitation au moyen de **PFLobbyInviteReceivedStateChange** et peut utiliser la chaîne de connexion jointe pour rejoindre le lobby.
* Ces invitations fonctionnent en multiplateforme, mais uniquement en jeu.

<a id="joining-a-lobby-by-platform-invites" />

### Rejoindre un lobby grâce aux invitations de plateforme

* Les membres du lobby peuvent partager directement la chaîne de connexion du lobby avec d'autres joueurs au moyen de mécanismes d'invitation propres à la plateforme.
* Ces invitations ne fonctionnent pas en multiplateforme, mais peuvent être reçues sans que le destinataire exécute déjà le jeu.
* Une fois que le joueur invité a reçu la chaîne de connexion au moyen du mécanisme de la plateforme, il peut utiliser la chaîne de connexion jointe pour rejoindre le lobby.

## Exemple d'envoi et de réception d'invitations à l'aide du SDK Lobby et Matchmaking

Utilisez **PFMultiplayerStartListeningForLobbyInvites** sur le destinataire de l'invitation pour lui permettre de recevoir des invitations en jeu.

L'écouteur d'invitations passe à l'état **Listening** une fois correctement configuré.

```cpp theme={null}
HRESULT AllowInvitations(
    const PFEntityKey* entity)
{
    return PFMultiplayerStartListeningForLobbyInvites(g_pfmHandle, entity);
}

void HandleInvitationListenerStatusChange(
    const PFLobbyInvitationListenerStatusChangedStateChange& invitationListenerStateChange)
{
    PFLobbyInvitationListenerStatus status;
    HRESULT hr = PFMultiplayerGetLobbyInvitationListenerStatus(
        g_pfmHandle,
        &invitationListenerStateChange.listeningEntity,
        &status);
    assert(SUCCEEDED(hr));

    switch (status)
    {
        case PFLobbyInvitationListenerStatus::Listening:
        {
            Log("%s is listening for invitations", invitationListenerStateChange.listeningEntity.id);
            break;
        }
        case PFLobbyInvitationListenerStatus::NotAuthorized:
        {
            Log("Invitation listener not authorized!"); // this is likely an issue with the listener's entity token.
            break;
        }
        default:
    }
}
```

Utilisez **PFLobbySendInvite** pour envoyer une invitation à un autre utilisateur PlayFab au moyen du service de lobby.

Le destinataire reçoit un **PFLobbyInviteReceivedStateChange**.

```cpp theme={null}
HRESULT SendInvite(PFLobbyHandle lobby, const PFEntityKey* sender, const PFEntityKey* receiver)
{
    return PFLobbySendInvite(lobby, sender, receiver, nullptr);
}

void HandleInvitationNotification(const PFLobbyInviteReceivedStateChange& invite)
{
    Log("%s invited to lobby by %s", invite.listeningEntity.id, invite.invitingEntity.id);
    // pass invite.connectionString to PFMultiplayerJoinLobby
}
```

## Voir aussi

* [Lobby et matchmaking](/fr-CA/services/playfab/multiplayer/lobby/lobby-and-matchmaking)
* [Rechercher des lobbies](/fr-CA/services/playfab/multiplayer/lobby/find-lobbies)
* [Rejoindre des lobbies](/fr-CA/services/playfab/multiplayer/lobby/join-lobbies)
* [Propriétés du lobby](/fr-CA/services/playfab/multiplayer/lobby/lobby-properties)


## Related topics

- [Rejoindre des lobbies](/fr-CA/services/playfab/multiplayer/lobby/join-lobbies.md)
- [Utiliser Lobby et Matchmaking ensemble](/fr-CA/services/playfab/multiplayer/lobby/lobby-and-matchmaking.md)
- [PFMultiplayerStartListeningForLobbyInvites](/fr-CA/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayerstartlisteningforlobbyinvites.md)
- [PFMultiplayerStopListeningForLobbyInvites](/fr-CA/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayerstoplisteningforlobbyinvites.md)
- [PFLobbySendInvite](/fr-CA/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pflobbysendinvite.md)
