Я сейчас работаю с Firebase и Unity.У меня возникла проблема с зависанием потоков.Проблема не возникает при запуске в редакторе Unity, только при работе на устройстве Android.
У меня есть сцена с кнопкой.При нажатии кнопки происходит транзакция пожарной базы, и сцена изменяется.Я использовал Android Monitor для расследования и получаю дамп с такими строками, как: «IdleHandler выбросил исключение из firebase», «другой поток перехвачен; signum = 11», «основной поток перехвачен»
ниже:пример кода, который запускается при нажатии кнопки в графическом интерфейсе.
Похоже, это связано с этой проблемой на github: https://github.com/firebase/quickstart-unity/issues/181
public void on buttonPress()
{
Firebase.FirebaseApp.LogLevel = Firebase.LogLevel.Debug;
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task =>
{
var dependencyStatus = task.Result;
if (dependencyStatus == Firebase.DependencyStatus.Available)
{
//transaction code
return TransactionResult.Success(data);
}
else
{
UnityEngine.Debug.LogError(System.String.Format(
"Could not resolve all Firebase dependencies: {0}", dependencyStatus));
// Firebase Unity SDK is not safe to use here.
}
});
// firebase code is running, now change scene
SceneManager.LoadScene("blah");
}