- Criando uma API simples de chamar.
- Criando informações atualizadas por meio do serviço Real-Time Activity (RTA) em segundo plano.
- Os desenvolvedores podem chamar a API do Social Manager de forma síncrona, sem nenhuma sobrecarga extra no serviço.
Recursos
O Social Manager oferece os recursos a seguir.- API social simplificada
- Grafo social atualizado
- Controle sobre o nível de detalhes das informações exibidas
- Número reduzido de chamadas aos serviços do XBOX
- Isso se correlaciona diretamente com a redução geral da latência na aquisição de dados
- Seguro para threads
- Mantém os dados atualizados de forma eficiente
Conceitos principais
Grafo social: um grafo social é criado para um usuário local no dispositivo. Isso cria uma estrutura que mantém atualizadas as informações sobre todos os amigos de um usuário.No Windows, pode haver apenas um usuário local.
- Grupos de filtro: um grupo de filtro usa o grafo social de um usuário local (chamador) e retorna um conjunto de usuários sempre atualizado com base nos parâmetros de filtro especificados.
- Grupos de lista: um grupo de lista recebe uma lista de usuários e retorna uma visão sempre atualizada desses usuários. Esses usuários podem estar fora da lista de amigos de um usuário.
Visão geral da API
Você usará com mais frequência as principais APIs a seguir.Adicionando usuários locais ao Social Manager
- Função da API C simples: XblSocialManagerAddLocalUser
Grupo de usuários sociais do XBOX
- Função da API C simples: XblSocialManagerAddLocalUser
XblSocialManager.
Uso
Criando um grupo de usuários sociais a partir de filtros
Neste cenário, você deseja uma lista de usuários a partir de um filtro, como uma lista dos amigos de um usuário ou o subconjunto de amigos que um usuário marcou como favoritos. API C simples- XblPresenceFilter
- XblRelationshipFilter
- XblSocialManagerAddLocalUser
- XblSocialManagerCreateSocialUserGroupFromFilters
- XblSocialManagerDoWork
- XblSocialManagerEvent
Eventos retornados
Usuário local adicionado: é disparado quando o carregamento do grafo social de um usuário é concluído. Indica se ocorreu algum erro durante a inicialização.- API C simples: XblSocialManagerEventType
::LocalUserAdded
- API C simples: XblSocialManagerEventType
::SocialUserGroupLoaded
- API C simples: XblSocialManagerEventType
::UsersAddedToSocialGraph
- XblSocialManagerEventType (API C simples)
Detalhes adicionais
API C simples O exemplo anterior mostra como inicializar o Social Manager para um usuário, criar um grupo de usuários sociais para esse usuário e mantê-lo atualizado. As opções de filtragem são os enums XblPresenceFilter e XblRelationshipFilter. No loop do jogo, a função XblSocialManagerDoWork atualiza todas as visões criadas com o instantâneo mais recente dos usuários daquele grupo. Os usuários da visão podem ser obtidos chamando a função XblSocialManagerUserGroupGetUsers. Ela retorna umXblSocialManagerUserPtrArray, uma matriz de objetos XblSocialManagerUser de propriedade da XSAPI.
XblSocialManagerUser contém as informações sociais, como gamertag, gamerpic e URI.
Criar e atualizar um grupo de usuários sociais a partir de uma lista
Neste cenário, você deseja as informações sociais de uma lista de usuários, como os usuários de uma sessão multiplayer. API C simples- XblSocialManagerAddLocalUser
- XblSocialManagerCreateSocialUserGroupFromList
- XblSocialManagerDoWork
- XblSocialManagerEvent
Eventos retornados
XblSocialManagerEventType::LocalUserAdded. É disparado quando o carregamento do grafo social do usuário é concluído. Indica se ocorreu algum erro durante a inicialização.
XblSocialManagerEventType::SocialUserGroupLoaded. É disparado quando um grupo de usuários sociais é criado e os usuários acompanhados são adicionados ao grafo social.
XblSocialManagerEventType::UsersAddedToSocialGraph. É disparado quando os usuários são carregados.
Atualizando um grupo de usuários sociais a partir de uma lista
Você também pode alterar a lista de usuários acompanhados no grupo de usuários sociais chamando XblSocialManagerUpdateSocialUserGroup. API C simplesEventos retornados
Grupo de usuários sociais atualizado: é disparado quando a atualização do grupo de usuários sociais é concluída.- C++:
social_user_group_updated - C: XblSocialManagerEventType::SocialUserGroupUpdated
- C++:
users_added_to_social_graph - C: XblSocialManagerEventType::UsersAddedToSocialGraph
- C: XblSocialManagerEventType::UsersRemovedFromSocialGraph
Usando os eventos do Social Manager
O Social Manager informa o que aconteceu na forma de eventos. Você pode usar esses eventos para atualizar sua interface ou executar outra lógica. API C simplesEventos retornados
XblSocialManagerEventType::LocalUserAdded. É disparado quando o carregamento do grafo social de um usuário é concluído. Indica se ocorreu algum erro durante a inicialização.
XblSocialManagerEventType::SocialUserGroupLoaded. É disparado quando um grupo de usuários sociais é criado.
XblSocialManagerEventType::UsersAddedToSocialGraph. É disparado quando os usuários são carregados.
XblSocialManagerEventType::UsersRemovedFromSocialGraph. É disparado quando um usuário é removido do grafo social.
XblSocialManagerEventType::PresenceChanged. É disparado quando a presença de um usuário no grafo social muda.
XblSocialManagerEventType::ProfilesChanged. É disparado quando o perfil de um usuário no grafo social muda.
XblSocialManagerEventType::SocialRelationshipsChanged. É disparado quando o relacionamento entre o usuário local e outro usuário no grafo social muda.
XblSocialManagerEventType::SocialUserGroupUpdated. É disparado quando uma atualização de um grupo de usuários sociais é concluída.
Detalhes adicionais
Este exemplo mostra parte do controle adicional oferecido pelo Social Manager. Em vez de depender dos filtros do grupo de usuários sociais para fornecer uma lista de usuários atualizada durante o loop do jogo, o grafo social é inicializado fora do loop do jogo. Em seguida, o título depende dos eventos retornados pela função XblSocialManagerDoWork. Eventos é uma lista de XblSocialManagerEvent. Cada XblSocialManagerEvent contém uma alteração no grafo social que ocorreu durante o último quadro. Por exemplo, XblSocialManagerEventType::ProfilesChanged e XblSocialManagerEventType::UsersAddedToSocialGraph.
Para obter mais informações, consulte a documentação da API XblSocialManagerEvent.
