我正在Unity上做一款移动的游戏,首先是Android。
现在我正在整合火力分析。
在Firebase控制台上设置信息并将google-services.json
文件放入Unity项目后,Unity显示错误消息:
Project Bundle ID com.RetroSpirit.ToiletRush does not match any bundle IDs in your google-services.json files
This will result in an app that will fail to initialize.
Available Bundle IDs:
You need to either:
* Fix your app's bundle ID under "Player Settings --> Bundle Identifier"
or:
* Add another app to your firebase project
Goto https://firebase.google.com/docs/unity/setup#add_firebase_to_your_app_1
and add the new configuration file to your project.
UnityEngine.Debug:LogError(Object)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:LogErrorIfEnabled(String)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:FindGoogleServicesFile(SortedDictionary`2, String, LogMessage, LogMessage)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:FindGoogleServicesFile(String, LogMessage, LogMessage)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:UpdateJson(Boolean, LogMessage, LogMessage)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:OnPostprocessAllAssets(String[], String[], String[], String[])
UnityEditor.AssetPostprocessingInternal:PostprocessAllAssets(String[], String[], String[], String[], String[])
UnityEditorInternal.InternalEditorUtility:ProjectWindowDrag(HierarchyProperty, Boolean)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
这是google-services.json
的一部分
"client": [
{
"client_info": {
"mobilesdk_app_id": "*:***********:android:****************",
"android_client_info": {
"package_name": "com.RetroSpirit.ToiletRush"
}
},
"oauth_client": [
{
"client_id": "***********-********************************.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.RetroSpirit.ToiletRush",
"certificate_hash": "****************************************"
}
我不知道该查什么。
项目捆绑包ID(构建设置-其他设置-标识上的包名称)与google-services.json
中的package_names完全相同。
有什么想法吗?
6条答案
按热度按时间holgip5t1#
我自己回答有点好笑......
我无意中发现了问题的原因。我的VC运行时有问题,所以
generate_xml_from_google_services_json.exe
无法从google-services.json
中提取包名。(vc90.crt.manifest无法提取!)不幸的是,我无法修复运行时错误,尽管有这么多的Visual Studio,VC运行时和.net框架重新安装.最后,我重新安装Windows 10和问题就消失了...仍然不知道是什么导致了这个错误.
4ktjp1zp2#
我知道你已经通过重新安装Windows修复了这个问题,但这就是我如何通过这个问题的情况下,其他人遇到这个:
请确保您已在Unity播放器设置中设置了包名称(编辑〉项目设置〉播放器〉其他设置〉标识〉包名称)。
设置为与您在Firebase中设置的相同(看起来像com.CompanyName.ProductName)。
确保您已将Firebase资源导入到Unity项目中(如此处所述https://firebase.google.com/docs/unity/setup),并且Firebase文件夹位于Assets〉Firebase中。更改此文件夹的位置似乎会导致中断。
sshcrbum3#
在我们的案例中,我们通过向拥有管理员权限的同事请求一个新的google-services.json文件来解决这个问题。
ie3xauqp4#
我的案例是在Unity中,为了修复它,我从firebase项目中添加了google-services.json到assets文件夹中。
thtygnil5#
在我的例子中,问题出在包名上。所以我按照以下步骤解决了这个问题:
1.更改软件包名称(com.companyname.appname)[所有内容均为小写]
1.删除现有密钥库
1.添加新密钥库并使用Keytool生成指纹
1.从Firebase控制台删除当前应用程序
1.使用正确的软件包名称和生成的指纹添加新应用
1.再次下载
google-services.json
并导入到Assets文件夹下的Unity成功了!成功了!!
n6lpvg4x6#
大家好,我找到了一个解决这个问题的方法,我正在使用mac pro m1
修复步骤
之后它会修复