Você pode usar o Firebase Authentication para criar e usar contas anônimas temporárias para autenticar com o Firebase. Essas contas anônimas temporárias podem ser usadas para permitir que usuários que ainda não se inscreveram em seu aplicativo trabalhem com dados protegidos por regras de segurança. Se um usuário anônimo decidir se inscrever em seu aplicativo, você poderá vincular suas credenciais de login à conta anônima para que ele possa continuar trabalhando com seus dados protegidos em sessões futuras.
Antes de você começar
Antes de usar o Firebase Authentication , você precisa adicionar o Firebase Unity SDK (especificamente,
FirebaseAuth.unitypackage
) ao seu projeto Unity.Encontre instruções detalhadas para essas etapas de configuração inicial em Adicionar Firebase ao seu projeto Unity .
- Se você ainda não conectou seu aplicativo ao projeto do Firebase, faça-o no console do Firebase .
- Habilitar autenticação anônima:
- No console do Firebase , abra a seção Auth .
- Na página Métodos de entrada, habilite o método de entrada anônima .
- Opcional : se você atualizou seu projeto para o Firebase Authentication com Identity Platform , pode ativar a limpeza automática. Ao habilitar essa configuração, as contas anônimas com mais de 30 dias serão excluídas automaticamente. Em projetos com limpeza automática habilitada, a autenticação anônima não contará mais para limites de uso ou cotas de cobrança. Consulte Limpeza automática .
Autenticar com o Firebase anonimamente
Quando um usuário desconectado usa um recurso de aplicativo que requer autenticação com o Firebase, conecte o usuário anonimamente concluindo as seguintes etapas:
A classeFirebaseAuth
é o gateway para todas as chamadas de API. Ele pode ser acessado por meio de FirebaseAuth.DefaultInstance .Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;1. Chame
Firebase.Auth.FirebaseAuth.SignInAnonymouslyAsync
.auth.SignInAnonymouslyAsync().ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("SignInAnonymouslyAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("SignInAnonymouslyAsync encountered an error: " + task.Exception); return; } Firebase.Auth.FirebaseUser newUser = task.Result; Debug.LogFormat("User signed in successfully: {0} ({1})", newUser.DisplayName, newUser.UserId); });
Converter uma conta anônima em uma conta permanente
Quando um usuário anônimo se inscreve em seu aplicativo, você pode querer permitir que ele continue trabalhando com sua nova conta - por exemplo, você pode querer disponibilizar os itens que o usuário adicionou ao carrinho de compras antes de se inscreverem em seu novo carrinho de compras da conta. Para fazer isso, conclua as seguintes etapas:
- Quando o usuário se inscrever, conclua o fluxo de login para o provedor de autenticação do usuário até, mas não incluindo, chamar um dos métodos
Firebase.Auth.FirebaseAuth.SignInWithCredentialAsync
. Por exemplo, obtenha o token de ID do Google do usuário, token de acesso ao Facebook ou endereço de e-mail e senha. Obtenha um
Firebase.Auth.Credential
para o novo provedor de autenticação:Passe o objeto
Firebase.Auth.Credential
para o métodoLinkWithCredentialAsync
do usuário de login:
Se a chamada para LinkWithCredentialAsync
for bem-sucedida, a nova conta do usuário poderá acessar os dados do Firebase da conta anônima.
Limpeza automática
Se você atualizou seu projeto para Firebase Authentication com Identity Platform , pode habilitar a limpeza automática no Firebase console. Ao habilitar esse recurso, você permite que o Firebase exclua automaticamente contas anônimas com mais de 30 dias. Em projetos com limpeza automática habilitada, a autenticação anônima não contará para limites de uso ou cotas de cobrança.
- Todas as contas anônimas criadas após habilitar a limpeza automática podem ser excluídas automaticamente a qualquer momento após 30 dias após a criação.
- As contas anônimas criadas antes de habilitar a limpeza automática serão elegíveis para exclusão automática a partir de 30 dias após habilitar a limpeza automática.
- Se você desativar a limpeza automática, todas as contas anônimas programadas para exclusão permanecerão programadas para exclusão. Essas contas não contam para limites de uso ou cotas de cobrança.
- Se você "atualizar" uma conta anônima vinculando-a a qualquer método de login, a conta não será excluída automaticamente.
Se você quiser ver quantos usuários serão afetados antes de ativar esse recurso e tiver atualizado seu projeto para o Firebase Authentication com Identity Platform , poderá filtrar por is_anon
no Cloud Logging .
Próximos passos
Agora que os usuários podem se autenticar com o Firebase, você pode controlar o acesso aos dados em seu banco de dados do Firebase usando as regras do Firebase.