Я хочу, чтобы гостевой пользователь вошел в систему и создал только 1 нового пользователя в моей базе данных авторизации.
Проблемно
- - В редакторе Unity- Новый анонимный пользователь создается при каждом запуске приложения
- На Android гостевой пользователь остается в системе, но когда приложение удаляется - создается еще один новый анонимный пользователь
В моей базе данных полно анонимных пользователей.
Примечание. Я использую и проверяю состояние проверки подлинности
.
Как я могу использовать одного и того же анонимного пользователя? Я даже думал о входе в систему с помощью пользовательского токена и сохранении его на устройстве пользователя, но затем мне нужно создать свой собственный uid на стороне администратора и не уверен, является ли это надежным или даже хорошим решением?
Кажется, что Firebase не дает правильного решения для этого. Вы бы подумали, что это просто. Я что-то упустил?
Код для единства-
void InitializeFirebase()
{
Debug.Log("Setting up Firebase Auth");
auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
auth.StateChanged += AuthStateChanged;
AuthStateChanged(this, null);
}
void AuthStateChanged(object sender, System.EventArgs eventArgs)
{
if (auth.CurrentUser != user)
{
bool signedIn = user != auth.CurrentUser && auth.CurrentUser != null;
if (!signedIn && user != null)
{
Debug.Log("Signed out " + user.UserId);
}
user = auth.CurrentUser;
if (signedIn)
{
Debug.Log("Signed in " + user.UserId);
}
}
}
void OnDestroy()
{
auth.StateChanged -= AuthStateChanged;
auth = null;
}
public static void SignAnonymous()
{
auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
auth.SignInAnonymouslyAsync().ContinueWith(task => {
user = task.Result;
Debug.LogFormat("User signed in successfully: {0} ({1})",
user.DisplayName, user.UserId);
});
}