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

时间:2017-09-21 07:58:53

标签: firebase unity3d firebase-cloud-messaging

我的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。如果它在过去运行,但不得不重新安装包,现在不工作。

1 个答案:

答案 0 :(得分: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项目中Temp /文件夹中的值  3.找到,Temp / Firebase内部的值不在主要生成的values.xml中  4.在mainTemplate.gradle中添加了一行以包含Firebaes / res