Unity Firebase无法加载:“无法从应用的资源中读取Firebase选项。”

问题描述 投票:3回答:1

我的Android版本无法初始化Firebase Messaging,但出现以下错误:

I/Unity   (30673): InitializationException: Failed to read Firebase options from the app's resources.  You'll need to either at least set App ID and API key or include google-services.json your app's resources.
I/Unity   (30673):   at Firebase.FirebaseApp.CreateAndTrack (Firebase.CreateDelegate createDelegate) [0x00000] in <filename unknown>:0
I/Unity   (30673):   at Firebase.FirebaseApp.Create () [0x00000] in <filename unknown>:0
I/Unity   (30673):   at Firebase.FirebaseApp.get_DefaultInstance () [0x00000] in <filename unknown>:0
I/Unity   (30673):   at Firebase.Messaging.FirebaseMessaging+Listener..ctor () [0x00000] in <filename unknown>:0
I/Unity   (30673):   at Firebase.Messaging.FirebaseMessaging+Listener.Create () [0x00000] in <filename unknown>:0
I/Unity   (30673):   at Firebase.Messaging.FirebaseMessaging..cctor () [0x00000] in <filename unknown>:0
I/Unity   (30673): Rethrow as TypeInitializationException: An exception was thrown by the type initializer for Firebase.Messaging.FirebaseMessaging

我已经下载并将google-services.json文件放在项目根目录中,并且在google-services.xml中生成了一个Plugins/Android/Firebase/res/values文件,该文件具有所有必需的值。

如果这会产生任何影响,也可以运行Google Play游戏包。 Unity 5.3和Firebase 4.1。如果它在过去运行,但不得不重新安装包,现在不工作。

firebase unity3d firebase-cloud-messaging
1个回答
0
投票

已解决 - 我在Unity中初始化时遇到了同样的错误。这里的主要区别是,我使用自己的gradle进行构建,并且Plugins / Android / Firebase / res / values.xml中的值未与最终values.xml合并

解决方案:编辑我的gradle将Firebase / res文件夹也包含到res文件夹中 - 在android块下的mainTemplate.gradle中添加了以下行

    sourceSets {
        main {
                res.srcDirs += 'Firebase/res'
        }
}

调试步骤:1。在Plugins文件夹中验证google-services.xml 2.构建完成后,验证Unity项目3中Temp /文件夹内的值。发现,Temp / Firebase内的值不在主生成的values.xml 4中。在mainTemplate.gradle中添加了一行以包含Firebaes / res

© www.soinside.com 2019 - 2024. All rights reserved.