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

Unity集成Firebase Remote Config仅获默认值,无法获取控制台配置排查

排查Unity Firebase Remote Config无法获取控制台配置的问题

看你的日志输出,Fetch流程显示成功,但拿不到控制台新增的配置键,还残留着已删除的旧默认值,这大概率是缓存、配置发布状态或者本地默认值的问题,给你几个针对性的排查方向:

1. 先确认控制台配置已发布

这是最容易踩的坑!Firebase控制台修改Remote Config后,必须点击右上角的发布更改按钮,新配置才会推送到客户端。如果一直停留在草稿状态,客户端永远拉不到新内容——我之前好几次改完就测试,白忙活半小时才发现没点发布。

2. 清理本地缓存与旧默认值残留

你提到能看到早期已删除的默认值,说明本地缓存或代码里的默认值没清理干净:

  • 检查代码里有没有SetDefaultsAsync/SetDefaults的调用,如果之前设置过旧的默认键值对,即使控制台删了,客户端还是会优先用本地默认值。如果不需要默认值,直接删掉这部分代码;如果需要,把默认值更新成最新的键值。
  • 卸载测试设备上的APP,或者在Unity编辑器里调用PlayerPrefs.DeleteAll()清除本地缓存(Remote Config会把缓存存在PlayerPrefs里)。

3. 正确配置开发者模式(确保强制拉取生效)

你试过启用开发者模式,但要注意必须在Fetch前设置,不然FetchAsync(TimeSpan.Zero)还是会被节流限制:

void InitializeFirebase() {
    var remoteConfigSettings = new FirebaseRemoteConfigSettings();
    remoteConfigSettings.IsDeveloperMode = true; // 开发者模式下忽略Fetch间隔限制
    FirebaseRemoteConfig.SetConfigSettings(remoteConfigSettings);
    
    // 这里如果有旧的默认值设置,要么更新要么删除
    // FirebaseRemoteConfig.SetDefaultsAsync(yourOldDefaults);
    
    FetchData();
}

4. 重新验证google-services.json的有效性

虽然你说文件存在,但要确认:

  • 是从Firebase控制台重新下载的最新版本(如果项目配置有变更,旧的json会失效)。
  • 放在Unity正确的目录:Android平台是Assets/Plugins/Android,iOS平台是Assets/Plugins/iOS(对应GoogleService-Info.plist)。

5. 升级SDK与NDK版本

NDK r13b确实太老了,建议升级到Firebase官方推荐的NDK版本(目前推荐r21e及以上),同时把Unity的Firebase SDK更新到最新稳定版——旧版本可能存在Remote Config的缓存逻辑bug。

6. 打印所有加载的键值对验证

在FetchComplete的LastFetchStatus.Success分支里,打印所有已加载的键,确认控制台的新键是否真的被拉取到:

// 新增这段代码
var allLoadedKeys = FirebaseRemoteConfig.AllKeys;
Debug.Log("=== 所有已加载的Remote Config键 ===");
foreach (var key in allLoadedKeys)
{
    var value = FirebaseRemoteConfig.GetValue(key).StringValue;
    Debug.Log($"{key}: {value ?? "空值"}");
}

如果这里看不到控制台的新键,说明确实没拉取到;如果能看到,那就是你获取值时的键名拼写错误(注意大小写敏感)。

7. 排查网络与权限问题

  • 确保测试设备能正常访问Firebase服务(可以先测试Firebase Auth或Database是否正常,排除网络墙的问题)。
  • Android平台检查AndroidManifest.xml里是否有网络权限:<uses-permission android:name="android.permission.INTERNET" />,Unity通常会自动添加,但有时候会被其他插件覆盖。

按照这些步骤一步步排查,应该能定位到问题。我之前遇到过几乎一模一样的情况,就是忘了发布控制台的更改,加上旧默认值没清理,解决后就正常拉取配置了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:32:24