Noções básicas
O RTA usa sessões WebSocket para criar uma conexão persistente com o cliente. É assim que o serviço entrega as estatísticas a você. Quando um cliente envia uma requisição de conexão autenticada, o RTA usa o token fornecido para verificar se a conexão pode ser feita e, em seguida, a estabelece. Depois que a conexão é estabelecida, seu aplicativo pode fazer requisições para assinar estatísticas específicas. Em uma assinatura bem-sucedida, o RTA retorna o valor atual e alguns metadados adicionais, como o tipo de estatística, como parte do conteúdo da resposta. O RTA encaminha todas as atualizações de estatísticas que ocorrem enquanto o cliente está inscrito. Quando seu título não precisa de atualizações em tempo real de uma estatística, ele deixa de acompanhá-la.Desconexão
Quando o token de autenticação de um usuário expira, a sessão é encerrada pelo serviço. Seu título deve agir de acordo quando isso ocorrer. As conexões do RTA são fechadas após duas horas, por design, o que obriga o cliente a se reconectar. Isso ocorre porque o token de autenticação da conexão fica em cache para economizar largura de banda de mensagens. Em algum momento, esse token expira. Ao fechar a conexão e obrigar o cliente a se reconectar, o cliente atualiza o token de autenticação. A XBOX Services API (XSAPI) trata a atualização do token de autenticação para o título, reconectando-se proativamente ao RTA e reenviando as assinaturas após 90 minutos. Um cliente pode ser desconectado devido a problemas com o provedor de internet do usuário ou quando o processo do título é suspenso. Em cada um desses casos, se o título tiver se registrado para eventos de alteração do estado de conexão do RTA, um evento de desconexão será gerado.Em geral, nenhuma ação do título é necessária após a desconexão, mas o título pode querer atualizar a interface para refletir que a conectividade do RTA foi perdida.
Se um cliente usar o RTA para sessões multiplayer e for desconectado por 30 segundos, o Multiplayer Session Directory (MPSD) detectará que a sessão do RTA foi fechada e removerá o usuário da sessão. A XSAPI restabelece automaticamente a conexão do RTA, mas é responsabilidade do título regravar suas sessões do MPSD depois que a assinatura do RTA for restabelecida.
Cancelamento de assinaturas
Não recomendamos acompanhar estatísticas para atualizações em tempo real desnecessárias. Cada estatística acompanhada corresponde a uma assinatura do RTA, e o serviço limita o número de assinaturas que um usuário pode ter por título. Se você assinar tudo, poderá atingir esse limite, o que impede assinar estatísticas importantes. Por exemplo, seu título pode precisar de atualizações de uma estatística apenas em uma determinada cena. Quando o usuário entrar nessa cena, seu título deverá acompanhar essa estatística. Quando o usuário sair dessa cena, seu título deverá parar de acompanhá-la. Da mesma forma, se não forem necessárias notificações quando as estatísticas mudarem, remover todos os manipuladores de alteração de estatísticas faz com que a XSAPI desfaça automaticamente as assinaturas do RTA relacionadas. Para obter mais informações sobre os limites de assinaturas, consulte a seção Limitações mais adiante neste tópico.Atenção aos itens latentes na fila
Ao cancelar a assinatura de uma estatística, é possível que ainda haja uma atualização dessa estatística a caminho do seu cliente. Portanto, mesmo que seu título tenha acabado de cancelar a assinatura de uma estatística, saiba que ele ainda pode receber uma ou duas atualizações relacionadas a ela. Recomendamos ignorar as atualizações de estatísticas quando o identificador da assinatura não for reconhecido.Ignore as mensagens que você não entende
O protocolo de mensagens pode ser atualizado. Para manter seu aplicativo independente de novas mensagens, recomendamos que seu título descarte os tipos de mensagem desconhecidos.Limitações
O RTA impõe uma limitação deUserStats de 1000 e uma limitação de Presence de 2500.
Se um cliente atingir o limite, ele receberá um erro como parte de uma chamada de assinatura ou de cancelamento de assinatura, ou será desconectado.
Em ambos os casos, mais informações sobre a limitação atingida ficam disponíveis para o cliente junto com a mensagem de erro ou de desconexão.
Ao desenvolver seu título, tenha esses conceitos em mente. Se você estiver fazendo algo extremo,
poderá ter uma experiência degradada no aplicativo, porque o serviço pode limitar suas chamadas.
Na versão atual do RTA, você pode ter 1000 assinaturas de estatísticas por instância de um aplicativo.
Além disso, uma instância de um aplicativo também pode assinar as atualizações de presença de toda a lista de amigos de um usuário.
Esse número pode mudar em versões futuras.
