Principes de base
RTA utilise des sessions WebSocket pour créer une connexion persistante avec le client. C’est ainsi que le service vous transmet les statistiques. Lorsqu’un client envoie une demande de connexion authentifiée, RTA utilise le jeton fourni pour vérifier que la connexion peut être établie, puis l’établit. Une fois la connexion établie, votre application peut envoyer des requêtes pour s’abonner à des statistiques spécifiques. Lorsqu’un abonnement réussit, RTA renvoie la valeur actuelle et quelques métadonnées supplémentaires, comme le type de statistique, dans la charge utile de la réponse. RTA transmet toutes les mises à jour de statistiques qui se produisent pendant que le client est abonné. Lorsque votre titre n’a plus besoin de mises à jour en temps réel d’une statistique, il cesse de la suivre.Déconnexion
Lorsque le jeton d’authentification d’un utilisateur expire, la session est interrompue par le service. Votre titre doit réagir en conséquence lorsque cela se produit. Par conception, les connexions RTA se ferment au bout de deux heures, ce qui oblige le client à se reconnecter. Cela s’explique par la mise en cache du jeton d’authentification de la connexion afin d’économiser la bande passante des messages. Ce jeton finit par expirer. En fermant la connexion et en obligeant le client à se reconnecter, le client actualise le jeton d’authentification. L’API des services XBOX (XSAPI) gère l’actualisation du jeton d’authentification pour le titre en se reconnectant de manière proactive à RTA et en soumettant à nouveau les abonnements au bout de 90 minutes. Un client peut être déconnecté en raison de problèmes liés au fournisseur d’accès Internet de l’utilisateur, ou lorsque le processus du titre est suspendu. Dans chacun de ces cas, si le titre s’est inscrit aux événements de changement d’état de la connexion RTA, un événement de déconnexion est déclenché.En général, aucune action n’est requise de la part du titre en cas de déconnexion, mais celui-ci peut souhaiter mettre à jour l’interface utilisateur pour indiquer que la connectivité RTA a été perdue.
Si un client utilise RTA pour des sessions multijoueur et qu’il est déconnecté pendant 30 secondes, le Multiplayer Session Directory (MPSD) détecte que la session RTA est fermée et exclut l’utilisateur de la session. XSAPI rétablit automatiquement la connexion RTA, mais il incombe au titre de réécrire ses sessions MPSD une fois l’abonnement RTA rétabli.
Désabonnement
Nous déconseillons de suivre des statistiques pour des mises à jour en temps réel inutiles. Chaque statistique suivie correspond à un abonnement RTA, et le service limite le nombre d’abonnements qu’un utilisateur peut avoir par titre. Si vous vous abonnez à tout, vous risquez d’atteindre cette limite, ce qui vous empêchera de vous abonner à des statistiques importantes. Par exemple, votre titre peut n’avoir besoin de mises à jour que pour une statistique propre à une certaine scène. Lorsque l’utilisateur entre dans cette scène, votre titre doit suivre cette statistique. Lorsque l’utilisateur quitte cette scène, votre titre doit cesser de la suivre. De même, si des statistiques changent, les notifications ne sont pas nécessaires. La suppression de tous les gestionnaires de modification de statistiques entraîne automatiquement la suppression, par XSAPI, des abonnements RTA associés. Pour plus d’informations sur les limites d’abonnements, consultez la section Limitations plus loin dans cette rubrique.Tenir compte des éléments en attente dans la file d’attente
Lors du désabonnement d’une statistique, il est possible qu’une mise à jour de cette statistique soit encore en cours d’acheminement vers votre client. Ainsi, même si votre titre vient de se désabonner d’une statistique, sachez qu’il peut encore recevoir une ou deux mises à jour liées à cette statistique. Nous vous recommandons d’ignorer les mises à jour de statistiques lorsque l’identificateur d’abonnement n’est pas reconnu.Ignorer les messages non reconnus
Le protocole de messages peut évoluer. Pour que votre application reste indépendante des nouveaux messages, nous vous recommandons de faire en sorte que votre titre ignore les types de messages inconnus.Limitations
RTA applique une limitationUserStats de 1000 et une limitation Presence de 2500.
Si un client atteint la limite, il reçoit une erreur lors d’un appel d’abonnement ou de désabonnement, ou il est déconnecté.
Dans les deux cas, des informations supplémentaires sur la limitation atteinte sont mises à la disposition du client avec le message d’erreur ou de déconnexion.
Lors du développement de votre titre, gardez ces concepts à l’esprit. Si vous adoptez un usage extrême,
l’expérience de votre application risque d’être dégradée, car le service peut limiter vos appels.
Dans la version actuelle de RTA, vous pouvez disposer de 1000 abonnements à des statistiques par instance d’application.
En outre, une instance d’application peut également s’abonner, pour les mises à jour de présence, à l’ensemble de la liste d’amis d’un utilisateur.
Ce nombre peut changer dans les versions futures.
