Com o Play Games Friends, os jogadores podem criar e manter uma mesma lista de amigos em vários jogos. Você pode solicitar acesso a essa lista para ajudar os usuários a jogar com pessoas que eles conhecem. Consulte a Página de conceito de amigos para mais detalhes sobre o sistema de amizades.
Antes de começar
Configure seu projeto e o plug-in do Google Play Games para Unity. Para saber mais, consulte o Guia para iniciantes.
Consulte as diretrizes de práticas recomendadas para instruções sobre a melhor maneira de implementar essas APIs.
Consulte as diretrizes de práticas recomendadas para instruções sobre a melhor maneira de implementar essas APIs.
Ativar amigos
Para ativar recursos de amigos, use as funções (em inglês) abaixo:
Conferir amigos: pede acesso à lista de amigos de um jogador para poder adicionar as pessoas que ele conhece no Play Games à lista do jogo.
Acessar um perfil de jogador: permite que um jogador confira o perfil de outro usuário no Play Games. Isso é essencial para que o usuário saiba quem são os amigos dele e possa se conectar a outros jogadores do Play Games no seu jogo. Você precisa vincular essa função a um elemento de IU para acionar o pop-up. Consulte as diretrizes de amizade para mais detalhes.
Conferir amigos
Há duas maneiras de carregar amigos: usando o framework ISocial
ou
diretamente com a PlayGamesPlatform
.
Carregar amigos com o framework ISocial
Social.localUser.LoadFriends((success) => {
Debug.Log("Friends loaded OK: " + ok));
foreach(IUserProfile p in Social.localUser.friends) {
Debug.Log(p.userName + " is a friend");
}
Essa chamada vai falhar se o jogador atual ainda não tiver concedido
permissão ao jogo para acessar essas informações. Use
GetLastLoadFriendsStatus
para verificar se a função LoadFriends
falhou devido à ausência
do consentimento.
PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
// Check for consent
if (status == LoadFriendsStatus.ResolutionRequired) {
// Ask for resolution.
}
});
Um jogo pode pedir que o jogador atual compartilhe a lista de amigos chamando
AskForLoadFriendsResolution
.
PlayGamesPlatform.Instance.AskForLoadFriendsResolution((result) => {
if (result == UIStatus.Valid) {
// User agreed to share friends with the game. Reload friends.
} else {
// User doesn’t agree to share the friends list.
}
});
Essa função vai mostrar a IU adequada para compartilhamento de amigos específica da plataforma. A IU pergunta ao jogador se ele quer compartilhar os amigos com o jogo.
Carregar amigos com a PlayGamesPlatform
Outra maneira de carregar amigos é usar LoadFriends
e LoadMoreFriends
:
PlayGamesPlatform.Instance.LoadFriends(pageSize, forceReload, (status) => {
// Check if the call is successful and if there are more friends to load.
});
PlayGamesPlatform.Instance.LoadMoreFriends(pageSize, (status) => {
// Check if there are more friends to load.
});
O parâmetro pageSize
representa o número de entradas que vão ser solicitadas na página.
Se os dados em cache já existirem, talvez o buffer retornado contenha mais
do que esse tamanho. O buffer vai conter pelo menos esse número de entradas
se a coleção tiver registros suficientes. Se forceReload
for definido como true
,
a chamada vai apagar todos os dados armazenados em cache localmente e tentar buscar os dados mais recentes
do servidor. Isso geralmente é usado para ações como uma atualização
iniciada pelo usuário. Normalmente, esse elemento precisa ser definido como false
para aproveitar as
vantagens do armazenamento em cache dos dados.
Se o callback retornar LoadFriendsStatus.LoadMore
, significa que há mais
amigos para carregar. LoadFriendsStatus.ResolutionRequired
sinaliza que o usuário
não compartilhou a lista de amigos e você pode chamar
PlayGamesPlatform.Instance.AskForLoadFriendsResolution
diretamente.
Determinar a visibilidade da lista de amigos
Use PlayGamesPlatform.Instance.GetFriendsListVisibility
para conferir se o usuário
compartilhou a lista de amigos com o jogo. Estes são os possíveis status de retorno:
FriendsListVisibilityStatus.RequestRequired
indica que você precisa solicitar consentimento.FriendsListVisibilityStatus.Visible
indica que o carregamento da lista de amigos vai ser concluído.FriendsListVisibilityStatus.Unknown
geralmente não acontece. DefinaforceReload
como "true" para atualizar os dados.
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
Acessar um perfil de jogador
Para adicionar ou remover um jogador como amigo, use a função de mostrar e comparar perfis. Ela aciona uma caixa de diálogo de página inferior com o perfil do usuário no Play Games. Chame a função com o ID do jogador solicitado. Se o jogador e o amigo tiverem apelidos no jogo, use-os na chamada para dar mais contexto à IU do perfil:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});