> ## 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.

# Programmation du service RTA

> Exemples de code C plat montrant comment inscrire et désinscrire des gestionnaires XSAPI auprès du service Real-Time Activity (RTA) de XBOX afin de recevoir les modifications des statistiques des joueurs.

Cette rubrique montre comment appeler le service Real-Time Activity (RTA) à l'aide des exemples de code C plat suivants.

* [Inscription d'un gestionnaire pour recevoir les événements de modification de statistiques du service RTA](#registering-a-handler-to-get-statistic-changes-events-from-the-Real-Time-Activity-service)
* [Désinscription du service RTA](#unregistering-from-the-Real-Time-Activity-service)

<a id="registering-a-handler-to-get-statistic-changes-events-from-the-Real-Time-Activity-service" />

## Inscription d'un gestionnaire pour recevoir les événements de modification de statistiques du service RTA

Vous définissez vos statistiques et les configurez pour RTA dans [Partner Center](https://partner.microsoft.com/dashboard). Pour plus d'informations, consultez les rubriques suivantes :

* [Configuration des statistiques mises en avant et des classements gérés par le titre dans Partner Center](/fr/services/xbox-services/player-data/stats-leaderboards/title-managed/config/live-tm-leaderboards-portal)

* [Inscription aux notifications de modification des statistiques des joueurs](/fr/services/xbox-services/fundamentals/rta/concepts/live-register-for-stat-notifications)

<Note>Si vous développez des statistiques basées sur les événements, contactez votre gestionnaire de compte développeur (DAM) pour obtenir des informations sur la configuration dans le portail des statistiques basées sur les événements dans [Partner Center](https://partner.microsoft.com/dashboard). Pour plus d'informations, consultez [Configurer les statistiques et règles de statistiques XBOX Live dans Partner Center)](https://developer.microsoft.com/en-us/games/xbox/partner/windows-configure-stats).</Note>

Dans votre titre, vous devez configurer les statistiques que RTA doit suivre. Les gestionnaires du titre sont appelés chaque fois que l'une des statistiques configurées change, comme le montre l'exemple de code suivant.

#### C plat

```cpp theme={null}
// Add a statistic changed handler.
void* context{ nullptr };
XblFunctionContext statisticChangedFunctionContext = XblUserStatisticsAddStatisticChangedHandler(
    xboxLiveContext,
    [](XblStatisticChangeEventArgs eventArgs, void* context)
    {
        // Handle statistic change. 
        LogToScreen("Statistic changed callback: stat changed (%s = %s)",
            eventArgs.latestStatistic.statisticName,
            eventArgs.latestStatistic.value);
    },
    context
    );

// Configure the statistics that you want RTA to track. Titles only receive real-time updates for tracked statistics.
// Note that you can update the set of tracked statistics independently from the handlers.
std::vector<const char*> statisticNames{ "TotalPuzzlesSolved" };
HRESULT hr = XblUserStatisticsTrackStatistics(
    xblContextHandle,
    &xboxUserId,
    1,
    scid,
    statisticNames.data(),
    statisticNames.size()
);
```

<a id="unregistering-from-the-Real-Time-Activity-service" />

## Désinscription du service RTA

Lorsque les mises à jour d'une statistique particulière (ou d'un ensemble de statistiques) ne sont plus nécessaires, votre titre doit simplement cesser de suivre cette statistique.
Si les mises à jour de statistiques ne sont plus du tout nécessaires, la suppression de tous les gestionnaires inscrits supprime automatiquement les abonnements RTA associés, comme le montre l'exemple de code suivant.

#### C plat

```cpp theme={null}
// Stop receiving updates for a particular statistic.   
std::vector<const char*> statisticNames{ "TotalPuzzlesSolved" }; 
HRESULT hr = XblUserStatisticsStopTrackingStatistics(
    xblContextHandle,
    &xboxUserId,
    1,
    scid,
    statisticNames.data(),
    statisticNames.size()
);

// Alternatively, stop receiving updates for statistics changes altogether.
XblUserStatisticsRemoveStatisticChangedHandler(
    xblContextHandle,
    statisticChangedFunctionContext
);
```

<Info>Si un client utilise RTA pour des sessions multijoueur et qu'il est déconnecté pendant trente secondes, le Multiplayer Session Directory (MPSD) détecte que la session RTA est fermée et retire le joueur de la session. XSAPI rétablit ensuite automatiquement la connexion RTA. Toutefois, il incombe au titre de réécrire ses sessions MPSD une fois l'abonnement RTA rétabli.</Info>

## Voir aussi

[XblStatisticChangeEventArgs](/fr/reference/live/xsapi-c/user_statistics_c/structs/xblstatisticchangeeventargs)

[XblUserStatisticsAddStatisticChangedHandler](/fr/reference/live/xsapi-c/user_statistics_c/functions/xbluserstatisticsaddstatisticchangedhandler)

[XblUserStatisticsRemoveStatisticChangedHandler](/fr/reference/live/xsapi-c/user_statistics_c/functions/xbluserstatisticsremovestatisticchangedhandler)


## Related topics

- [Exemple de code du service Real-Time Activity (RTA)](/fr/services/xbox-services/fundamentals/rta/how-to/live-rta-howto-nav.md)
- [Procédures](/fr/services/xbox-services/fundamentals/rta/how-to/index.md)
- [Configuration des notifications de modification de statistiques dans le portail](/fr/services/xbox-services/player-data/stats-leaderboards/event-based/config/live-stat-change-notif-portal.md)
- [Configurer les notifications de modification de statistiques dans Partner Center](/fr/publishing/game-publishing/how-to/data-platform-2013/how-to-configure-stat-notifications.md)
- [Concepts du service Real-Time Activity (RTA)](/fr/services/xbox-services/fundamentals/rta/concepts/live-rta-concepts-nav.md)
