Pular para o conteúdo principal
Este início rápido de vinculação de contas demonstra como associar uma conta a vários dispositivos e mecanismos de login. Uma única conta do PlayFab pode ser acessada por muitos dispositivos e credenciais de login. Conforme discutimos em nosso tutorial Noções básicas e práticas recomendadas de login, há duas formas de autenticação de usuário:
  1. Anônima
  2. Recuperável

Adicionando um login recuperável a uma conta anônima existente

É muito comum que o primeiro login seja anônimo. Isso leva o jogador para dentro do jogo, sem atrito. Mas, depois que um jogador se envolve com o seu jogo, você deve solicitar que ele adicione um método de login recuperável, o que torna a conta dele recuperável em caso de falha do dispositivo ou outros problemas. Esta seção aborda a adição de um mecanismo de login recuperável a uma conta anônima.
Um login anônimo continua sendo relevante e pode continuar sendo o login principal sem atrito para o jogador. Muitos jogadores só usarão essas opções novamente se estiverem tentando recuperar a conta, usando recursos específicos da plataforma ou vinculando um segundo dispositivo anônimo.
Login anônimo e mecanismo de login recuperável do PlayFab O foco deste tutorial está na parte inferior da imagem anterior, com as células: AddUsernamePassword, LinkWithFacebook ou LinkWithGoogle. Elas indicam algumas das várias opções disponíveis para mecanismos de login recuperáveis.
  • AddUsernamePassword é usado para habilitar um ou ambos: LoginWithPlayFab e LoginWithEmailAddress. Essas opções armazenam as credenciais de nome de usuário/email/senha diretamente no PlayFab. Para que um jogador recupere a conta, seu jogo, site ou atendimento ao cliente pode acionar:
    • SendAccountRecoveryEmail para esse endereço de email. Se um jogador inserir um endereço de email falso, você ainda poderá usar o PlayFab Game Manager para atualizar o endereço de email do jogador, embora seja importante garantir que seus representantes de atendimento ao cliente sejam treinados para ficar atentos a truques comuns de engenharia social, para que atualizem apenas o endereço de email do verdadeiro proprietário da conta.
Cada um dos mecanismos de login recuperáveis de terceiros envolve solicitar que o usuário faça login por meio de um SDK ou chamada de API de terceiros apropriado. A vinculação dessa conta ao PlayFab geralmente segue o mesmo padrão:
  1. Primeiro, solicite que o usuário faça login nesse serviço (mais detalhes em Noções básicas e práticas recomendadas de login).
  2. Depois que você fizer login, esses serviços fornecerão algum tipo de token, que pode ser passado ao PlayFab.
  3. Isso permite que o PlayFab se vincule com segurança a essa conta sem conhecer as credenciais do usuário nesse serviço.
Alguns serviços exigem que o PlayFab tenha algumas informações adicionais, como uma ID de aplicativo, para fazer a chamada de autenticação a esse serviço para o seu jogo. Verifique a página Add-on Marketplace do serviço em questão como parte da configuração do seu título.

Prática recomendada

Use um login anônimo para criar novos jogadores sem nenhum atrito. Após uma fase de tutorial, incentive gentilmente os jogadores a vincular a opção de credenciais recuperáveis de sua preferência à conta deles. Se você estiver usando um sistema de autenticação de terceiros, recupere o token apropriado desse serviço (por meio de chamadas de API ou funções do SDK) e, em seguida, chame a API do PlayFab apropriada para vincular a conta do jogador nesse serviço à conta do PlayFab dele: LinkFacebookAccount, LinkGameCenterAccount, LinkGoogleAccount, LinkKongregate, LinkSteamAccount, LinkTwitch, LinkWindowsHello<!— LinkWindowsHello —>.

Prática recomendada

  • Para a privacidade do usuário, não salve nem armazene nenhuma credencial de usuário (essa também é uma das muitas etapas necessárias para a conformidade com a COPPA e, se esse for um requisito para o seu título, converse com seu consultor jurídico para confirmar sua conformidade).
  • Se você estiver usando as credenciais do PlayFab ou chamando uma API de terceiros diretamente, deverá limpar as informações de login da memória o mais rápido possível. Geralmente, os SDKs de terceiros cuidam disso para você.
  • Não mantenha nenhuma informação identificável ou segura na memória por mais tempo do que o necessário e não a salve em um arquivo ou local remoto. As APIs do PlayFab são projetadas para utilizar apenas o mínimo de informações necessárias.

Adicionar novos dispositivos a uma conta recuperável existente

O PlayFab permite que vários logins e dispositivos acessem a mesma conta. Quando configurado corretamente, um jogador pode jogar em qualquer dispositivo, deixar esse dispositivo de lado, pegar um novo dispositivo (até mesmo de tipo, marca, plataforma ou sistema operacional diferente) e continuar jogando o mesmo jogo, com todos os seus dados intactos.

Requisito

O jogador deve possuir dois dispositivos:
  • Device1 - Configurado com uma conta e credenciais recuperáveis já configuradas corretamente. Também é ideal que o segundo dispositivo não esteja associado a uma conta. Esse processo tornará órfã qualquer conta que tenha apenas a ID do segundo dispositivo como mecanismo de login, tornando-a irrecuperável. No entanto, o PlayFab tem opções para detectar e alertar com segurança contra esse caso.
  • Toda a atividade neste cenário ocorre no Device2 - Para começar, o fluxo de login do usuário para o segundo dispositivo deve ser invertido. Você deve oferecer ao usuário a opção de fazer login por meio de um mecanismo recuperável, e não fazer login automaticamente com a ID do dispositivo.
Não realizar esta etapa resultará em uma experiência estranha para o jogador, em que ele será alertado sobre a perda de uma conta que nunca teve a intenção de criar. Portanto, o fluxo para as várias condições é o seguinte; observe que, em todos os casos, há apenas uma conta de jogador, que tem uma conta recuperável vinculada. Estado do Device1: a ID do dispositivo está associada à conta do jogador. Estado do Device2: a ID do dispositivo não está associada à conta do jogador.
  • Depois de entrar na conta do jogador no Device2 (usando as credenciais da conta recuperável), faça uma chamada para GetPlayerCombinedInfo.
Como o Device2 ainda não foi vinculado a essa conta de jogador, a ID de dispositivo relevante (AccountInfo.IosDeviceInfo, AccountInfo.AndroidDeviceInfo etc.) não corresponderá à ID do Device2. Estado do Device1: a ID do dispositivo está associada à conta do jogador. Estado do Device2: conectado com credenciais recuperáveis, mas a ID do dispositivo não está associada à conta do jogador. Agora que verificamos que o Device2 não está associado a essa conta, podemos tentar associá-lo.
  • Chame a chamada de API LinkAndroidDeviceID, LinkIOSDeviceID ou outra específica do dispositivo apropriada.
  • Se for bem-sucedida, você terá concluído; retome a jogabilidade normal.
  • Mas, como em qualquer chamada de API, esteja preparado para capturar erros. Especificamente, procure um erro retornado indicando que o dispositivo já está vinculado a uma conta.
  • Nessa condição, exiba ao jogador uma mensagem Deseja associar este dispositivo a esta conta.
  • Certifique-se de informar que a outra conta poderá ser perdida se ele continuar.
  • Se o jogador aceitar esse aviso, reenvie a solicitação de vinculação com a propriedade ForceLink definida como True.
  • Isso desvinculará a ID do Device2 da conta antiga, possivelmente tornando essa conta órfã se nenhum outro mecanismo de login estiver vinculado a ela, e a associará à nova conta.

Prática recomendada

Use o CloudScript ou um evento do PlayStream para registrar informações sobre contas abandonadas em algum lugar onde seus representantes de atendimento ao cliente possam recuperá-las, caso o jogador tenha cometido um erro.
Até mesmo algo tão simples quanto gravar o PlayFabId em um arquivo de log baseado em nuvem pode salvar a conta de um jogador dedicado.
Estado do Device1: a ID do dispositivo está associada à conta do jogador. Estado do Device2: a ID do dispositivo está associada à conta do jogador. Neste ponto, ambos os dispositivos jogam na mesma conta, e ambos podem usar o login sem atrito com segurança.

Associar uma ID de dispositivo sem atrito a uma conta recuperável existente

Este cenário é muito semelhante à situação acima, exceto que a conta foi criada usando credenciais recuperáveis. Você pode converter uma tela de login de jogo existente em um login sem atrito associando um login anônimo posteriormente. As etapas aqui são quase idênticas às da condição acima, apenas com um único dispositivo (que é simplesmente o Device2 no fluxo acima). Estado do dispositivo: a ID do dispositivo não está associada à conta do jogador. Depois de realizar um login recuperável com o dispositivo, chame GetPlayerCombinedInfo. Novamente, determine se a ID do dispositivo corresponde à ID do dispositivo associada, por meio das informações retornadas em result.InfoResultPayload.AccountInfo. Como o dispositivo nunca entrou na conta, a ID de dispositivo relevante (AccountInfo.IosDeviceInfo, AccountInfo.AndroidDeviceInfo etc.) não corresponderá à ID do dispositivo. Estado do dispositivo: conectado com credenciais recuperáveis, mas a ID do dispositivo não está associada à conta do jogador. Como o dispositivo não está associado a essa conta, podemos tentar associá-lo. Chame a chamada de API LinkAndroidDeviceID, LinkIOSDeviceID ou outra específica do dispositivo apropriada. Se for bem-sucedida, você terá concluído; retome a jogabilidade normal. Mas, novamente, esteja preparado para capturar erros. Especificamente, procure um erro retornado indicando que o dispositivo já está vinculado a uma conta. Nessa condição, exiba ao jogador uma mensagem Deseja associar este dispositivo a esta conta. Certifique-se de informar que a outra conta poderá ser perdida se ele continuar. Se o jogador aceitar esse aviso, reenvie a solicitação de vinculação com a propriedade ForceLink definida como True. Isso desvinculará a ID do dispositivo da conta antiga, possivelmente tornando essa conta órfã se nenhum outro mecanismo de login estiver vinculado a ela, e a associará à nova conta. Prática recomendada: Use o CloudScript ou um evento do PlayStream para registrar informações sobre contas abandonadas em algum lugar onde seus representantes de atendimento ao cliente possam recuperá-las, caso o jogador tenha cometido um erro. Até mesmo algo tão simples quanto gravar o PlayFabId em um arquivo de log baseado em nuvem pode salvar a conta de um jogador dedicado. Estado do dispositivo: a ID do dispositivo está associada à conta do jogador. Neste ponto, um login sem atrito pode ser usado com o dispositivo, em vez das credenciais recuperáveis.

Outras práticas recomendadas

As etapas acima envolvem solicitar algo ao usuário antes do login. O login sem atrito envolve fazer login sem perguntar primeiro ao jogador. Você pode encontrar um meio-termo ideal com as seguintes sugestões: APIs de login sem atrito: todos os seus logins sem atrito têm um parâmetro de solicitação chamado CreateAccount. Exemplos:
  • AndroidRequest.CreateAccount
  • IosRequest.CreateAccount. Selecione true ou false para esta propriedade de acordo com as seguintes diretrizes:
Na inicialização:
  • Na sua cena de login, seu jogo pode tentar imediatamente um login sem atrito com CreateAccount=false. Se isso for bem-sucedido, esse jogador já fez login no jogo com esse dispositivo e pode pular com segurança diretamente para a cena do jogo. Capture o retorno de chamada de erro dessa chamada e faça com que ele exiba as opções de login pela primeira vez.
  • Cena de login pela primeira vez: para qualquer dispositivo com capacidade de login sem atrito, essa cena deve incluir um botão Jogar agora, além de botões que permitam ao jogador fazer login em uma conta existente via Facebook, Twitch, Google ou outras opções de login recuperáveis. O botão Jogar agora deve ativar o login sem atrito com CreateAccount=true.
  • Sair: forneça um botão Sair que retorne à sua cena de login pela primeira vez, mas que não ative automaticamente o login sem atrito. Isso dá ao usuário a opção de abandonar a conta associada ao dispositivo fazendo login com uma opção recuperável e, em seguida, associando o dispositivo a essa conta.
Com essas sugestões, você pode evitar a maioria dos cenários estranhos, em que os usuários são solicitados a abandonar uma conta ao associar vários dispositivos à mesma conta.
Última modificação em 6 de outubro de 2026