Após a descontinuação da API
  Login do Google, vamos remover o SDK dos serviços relacionados a jogos v1 em 2026. A partir de fevereiro de 2025, não será mais possível publicar no Google Play títulos que foram integrados ao SDK dos serviços relacionados a jogos do Google Play V1. Recomendamos que você use o
  SDK do Google Play Games v2.
  Embora os títulos atuais com as integrações anteriores da v1 de jogos continuem funcionando por alguns
  anos, recomendamos que você
  migre para a v2
  a partir de junho de 2025.
  Este guia é para usar o SDK dos serviços relacionados a jogos do Google Play v1. Para informações
  sobre a versão mais recente do SDK, consulte a
  documentação da v2.
Use as etapas deste guia para implementar as APIs Friends no código do jogo em Java.
Carregar amigos
Você pode recuperar e mostrar (no jogo) uma lista de jogadores que são amigos do usuário atual. Como usuário, é possível controlar quais jogos têm acesso à lista de amigos. Ao recuperar a lista de amigos, é necessário processar o caso em que a permissão é necessária. Tudo isso é encapsulado na API para facilitar a solicitação de acesso e, posteriormente, usar a lista de amigos como uma tarefa simples. Para carregar a lista de amigos, siga estas etapas:
- Chame o método
PlayersClient.loadFriends(), que é uma chamada assíncrona que retorna um objetoTask. - Se a chamada for bem-sucedida (o usuário já concedeu acesso à lista de
amigos), os serviços relacionados a jogos do Google vão retornar um
PlayerBufferanotado que representa os amigos do usuário. Se o jogador precisar conceder acesso à lista de amigos, a chamada vai falhar com um
FriendsResolutionRequiredException. Nenhuma caixa de diálogo foi mostrada ainda.- Essa exceção contém um 
Intentque aciona uma caixa de diálogo para solicitar o consentimento do jogador. Você pode iniciar esseIntentimediatamente para abrir uma caixa de diálogo de consentimento. EsseIntentsó pode ser usado uma vez. Se o resultado da atividade da
IntentforActivity.RESULT_OK, o consentimento foi dado. ChamarloadFriends()novamente para retornar a lista de amigos. Se o resultado forActivity.RESULT_CANCELLED, isso significa que o usuário não deu seu consentimento, eloadFriends()continuará retornandoFriendsResolutionRequiredException.
- Essa exceção contém um 
 
O código a seguir mostra como implementar o carregamento da lista de amigos:
// Attempt loading friends.
// Register a success listener to handle the successfully loaded friends list.
// Register a failure listener to handle asking for permission to access the list.
Games.getPlayersClient(this, GoogleSignIn.getLastSignedInAccount(this))
    .loadFriends(PAGE_SIZE, /* forceReload= */ false)
    .addOnSuccessListener(
        new OnSuccessListener<AnnotatedData<PlayerBuffer>>() {
            @Override
            public void onSuccess(AnnotatedData<PlayerBuffer>  data) {
          PlayerBuffer playerBuffer = data.get();
          // ...
        })
    .addOnFailureListener(
        exception -> {
      if (exception instanceof FriendsResolutionRequiredException) {
        PendingIntent pendingIntent =
            ((FriendsResolutionRequiredException) task.getException())
            .getResolution();
        parentActivity.startIntentSenderForResult(
            pendingIntent.getIntentSender(),
            /* requestCode */ SHOW_SHARING_FRIENDS_CONSENT,
            /* fillInIntent */ null,
            /* flagsMask */ 0,
            /* flagsValues */ 0,
            /* extraFlags */ 0,
            /* options */ null);
     }
   });
 return;
}
O código a seguir mostra como processar o resultado da solicitação de consentimento:
/** Handle the activity result from the request for consent. */
@Override
public void onActivityResult(int requestCode, int result, Intent data) {
  if (requestCode == SHOW_SHARING_FRIENDS_CONSENT) {
    if (result == Activity.RESULT_OK) {
      // We got consent from the user to access their friends. Retry loading the friends
      callLoadFriends();
    } else {
      // User did not grant consent.
    }
  }
}
Ver o perfil de outro jogador
Você pode mostrar uma visualização do perfil do Play Games de outro jogador no seu jogo. Essa visualização permite que os jogadores enviem e aceitem convites de amigos que estejam sendo visualizados. Essa visualização não requer acesso à lista de amigos. Além disso, se o jogo tiver o próprio conceito de nomes de jogadores separados dos IDs de jogador do Play Games, você vai poder transmiti-los para a visualização de perfil para que eles possam ser incluídos em convites de amigos para mais contexto.
Para mostrar o perfil de outro jogador, siga estas etapas:
- Chame o método
PlayersClient.getCompareProfileIntent(), que é uma chamada assíncrona que retorna um objetoTask. - Se a chamada for bem-sucedida, os serviços relacionados a jogos do Google Play vão retornar uma intent que mostra uma tela em que o usuário pode se comparar com o perfil de outro jogador.
 - Use o 
Intentda etapa anterior para iniciar uma atividade. 
// Retrieve and launch an Intent to show a player profile within the game.
Games.getPlayersClient(this, GoogleSignIn.getLastSignedInAccount(this))
    .getCompareProfileIntent(otherPlayerId)
    .addOnSuccessListener(new OnSuccessListener<Intent>() {
        @Override
        public void onSuccess(Intent  intent) {
          startActivityForResult(intent, RC_SHOW_PROFILE);
          // ...
        }});
Se o jogo tiver seu próprio nome, os jogadores poderão adicioná-lo à chamada de API. Isso permite que o Play Games defina o apelido de jogadores que enviam convites de amigos no seu jogo como "<game-specific-name> from <your-game-name>". O Play Games anexa automaticamente "from <your-game-name>":
// Show a player profile within the game, with additional hints containing the
// game-specific names for both players.
// - otherPlayerId is the Play Games playerId of the player to view.
// - otherPlayerInGameName is the game-specific name of the player being viewed.
// - currentPlayerInGameName is the game-specific name of the player who is signed
//   in. Hence if the player sends an invitation to the profile they are viewing,
//   their game-specific name can be included.
Games.PlayersClient(this, GoogleSignIn.getLastSignedInAccount(this))
    .getCompareProfileIntentWithAlternativeNameHints(otherPlayerId, otherPlayerInGameName, currentPlayerInGameName)
    .addOnSuccessListener(new OnSuccessListener<Intent>() {
        @Override
        public void onSuccess(Intent  intent) {
          startActivityForResult(intent, RC_SHOW_PROFILE);
          // ...
        }});