You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity打包Android时Firebase配置读取失败,求解决方案

解决Unity打包Android时Firebase配置读取失败的问题

可行解决方案:

  • 重新导入完整的Firebase Unity SDK:下载对应Unity版本的Firebase SDK,确保Android相关的gradle插件、配置模板等文件全部导入,避免SDK缺失导致构建时无法识别google-services.json。
  • 手动生成并配置mainTemplate.gradle:在Unity的Player Settings > Publishing Settings > Build中勾选Custom Gradle Template,Unity会自动在Assets/Plugins/Android目录生成mainTemplate.gradle。在文件的dependencies块上方添加apply plugin: 'com.google.gms.google-services',同时确保文件顶部的buildscript > dependencies中包含classpath 'com.google.gms:google-services:4.3.15'(或兼容的最新版本)。
  • 修正google-services.json的存放位置:仅将google-services.json放在Assets/Plugins/Android目录下,删除其他位置的副本,避免配置冲突。同时确认文件在Unity Project窗口中正常显示,无错误标记。
  • 核对包名匹配性:打开google-services.json,确认client > client_info > android_client_info > package_name的值与UnityPlayer Settings > Identification > Package Name完全一致,大小写也必须匹配。
  • 清理缓存后重新构建:删除Unity项目的Library、Temp目录,以及Android构建输出的Build文件夹,重新导入Firebase SDK后再尝试打包。
  • 代码显式初始化Firebase:如果自动读取配置始终失败,可在代码中手动传入配置参数初始化,示例代码如下:
using Firebase;
using UnityEngine;

public class FirebaseInit : MonoBehaviour
{
    void Start()
    {
        var firebaseOptions = new FirebaseOptions
        {
            ApiKey = "你的API_KEY",
            AppId = "你的APP_ID",
            ProjectId = "你的PROJECT_ID",
            AuthDomain = "你的AUTH_DOMAIN",
            StorageBucket = "你的STORAGE_BUCKET",
            MessagingSenderId = "你的MESSAGING_SENDER_ID"
        };

        if (FirebaseApp.DefaultInstance == null)
        {
            FirebaseApp.Create(firebaseOptions);
        }
    }
}

上述参数均可从google-services.json中提取对应字段值。

内容的提问来源于stack exchange,提问作者Itai Elidan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 11:26:11