У меня проблема с Unity3d SDK.
Я подписываюсь на событие ValueChanged, и при первом его запуске я отписываюсь от обработчика.
В Unity все отлично работает.
Но когда я создаю проект для Android, отписаться не удастся: после отписки я все еще обрабатываю события в обработчике.
Вот код:
public void CheckUserExists()
{
FirebaseDatabase.DefaultInstance
.GetReference("users").Child(primary_key)
.ValueChanged += CheckUserExistsHadler;
}
void CheckUserExistsHadler(object sender, ValueChangedEventArgs e)
{
FirebaseDatabase.DefaultInstance
.GetReference("users").Child(primary_key)
.ValueChanged -= CheckUserExistsHadler;
if (e.Snapshot == null || e.Snapshot.Value == null)
{
print("user_exists");
}
else
{
print("user_not_exists");
}
}