首页 > 解决方案 > Unity Firebase 未在 Android 上初始化

问题描述

我有一个适用于 Android 的 Firebase Unity 项目。我目前正在使用 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 并对其进行测试时,它并没有转到Debug.Log("var dependencyStatus = task.Result;");. 我尝试使用在网上找到的许多解决方案,例如使用不同的 Unity 版本或最新的 Firebase SDK 或重新导入 Firebase,但它们都不起作用。

编辑:即使函数后面有一个 Debug.Log ,该函数似乎也Start()结束了,FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread 并且不会比这更进一步。

我做错了什么还是我错过了其他一些修复?

标签: androidfirebaseunity3d

解决方案


推荐阅读