Я столкнулся с подобной ошибкой.У меня были эти две функции, которые прекрасно работали в редакторе Unity, но не работали на устройстве Android, использующем APK.
private void OnEnable ()
{
FirebaseDatabase.DefaultInstance.GetReference("/currentGame").ValueChanged += HandleComingGameChanges;
}
private void OnDisable ()
{
FirebaseDatabase.DefaultInstance.GetReference("/currentGame").ValueChanged -= HandleComingGameChanges;
}
Так что я просто добавил переменную DatabaseReference и подписался на эту функцию OnEnable и отменил подписку на нее.на функцию GameObject-Disable, и она начинает работать.
Вот псевдокод этого.
private DatabaseReference reference;
private void Awake ()
{
reference = FirebaseDatabase.DefaultInstance.GetReference("/myReference");
}
private void OnEnable ()
{
reference.ValueChanged += HandleChanges;
}
private void OnDisable ()
{
reference.ValueChanged -= HandleChanges;
}
Примечание: я инициализирую ссылочную переменную в функции Awake, потому что она вызывается до OnEnable, а Start вызывается после OnEnable.