У меня есть проект Firebase Unity для Android. В настоящее время я использую Unity 2019.3.1 и Firebase SDK 6.15.2. Ниже приведен код, который я использовал для подключения к Firebase:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using Firebase;
using Firebase.Auth;
using Firebase.Firestore;
using Firebase.Extensions;
public class FirebaseManager : MonoBehaviour
{
public static FirebaseManager instance;
private FirebaseApp app;
private async void Awake()
{
if (instance == null)
{
DontDestroyOnLoad(gameObject);
instance = this;
var dependencyResult = await FirebaseApp.CheckAndFixDependenciesAsync();
if (dependencyResult == DependencyStatus.Available) app = FirebaseApp.DefaultInstance;
else Debug.LogError($"Failed to initialize Firebase with {dependencyResult}");
}
else Debug.LogWarning($"An instance of {nameof(FirebaseManager)} already exists!");
}
void Start()
{
Debug.Log("FirebaseManager.Start()");
FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task =>
{
var dependencyStatus = task.Result;
Debug.Log("var dependencyStatus = task.Result;");
if (dependencyStatus == DependencyStatus.Available) InitializeFirebase();
else Debug.LogError("Could not resolve all Firebase dependencies: " + dependencyStatus);
});
}
}
Firebase работает на Unity. Однако, когда я собрал apk и протестировал его, он не изменил go на Debug.Log("var dependencyStatus = task.Result;");
. Я пробовал использовать множество решений, найденных в Интернете, например использовать другую версию Unity или последнюю версию Firebase SDK или повторно импортировать Firebase, но ни одно из них не работает.
Изменить: похоже, что функция Start()
заканчивается на FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread
и не будет go дальше этого, даже если после функции есть Debug.Log.
Я делаю что-то не так или есть какое-то другое исправление, которое я пропустил?