- Anônima
- 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.

- 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.
- 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).
- Depois que você fizer login, esses serviços fornecerão algum tipo de token, que pode ser passado ao PlayFab.
- 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.
- Depois de entrar na conta do jogador no Device2 (usando as credenciais da conta recuperável), faça uma chamada para GetPlayerCombinedInfo.
- Para cada tipo de dispositivo retornado nessas informações, a ID do dispositivo conectado mais recentemente é retornada em result.InfoResultPayload.AccountInfo.
- 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.
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 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.
