Unity游戏中Firebase自定义关卡完成日志事件未显示在控制台
Firebase自定义关卡事件未显示的排查与修复
以下是针对你的问题的具体排查点和解决方案:
1. 修正事件名与参数的格式问题
Firebase Analytics对事件和参数的命名有严格规范,禁止使用空格、特殊字符(如冒号、空格),且需以小写字母/下划线开头,仅允许小写字母、数字、下划线。你的当前写法违反了这些规则,会导致事件无法被正常识别上报。
修正后的代码示例:
// 事件名采用小写+下划线的规范格式,比如level_completed_1 FirebaseAnalytics.LogEvent($"level_completed_{SaveController.LevelId}", new Parameter("level_id", SaveController.LevelId));
2. 检查数据查看的正确入口
Firebase常规事件报表存在1-24小时的延迟,如果要实时验证事件是否上报成功,需要使用「DebugView」功能:
- 确保设备处于调试状态(Android通过adb连接、iOS通过Xcode调试)
- 在Firebase控制台的「Analytics」->「DebugView」中选择对应的测试设备,触发事件后即可实时看到数据。
3. 确认事件触发逻辑是否执行
添加Unity本地日志验证代码是否被执行:
Debug.Log($"触发关卡完成事件:Level {SaveController.LevelId}"); FirebaseAnalytics.LogEvent($"level_completed_{SaveController.LevelId}", new Parameter("level_id", SaveController.LevelId));
运行游戏后查看Unity控制台,确认这条日志是否输出,同时检查SaveController.LevelId是否为有效数值(非空、非无效值)。
4. 排查集成隐性问题
- 确认项目中使用的Firebase Analytics包是最新版本,且
google-services.json(Android)/GoogleService-Info.plist(iOS)是当前Firebase项目的正确配置文件。 - 检查测试设备的网络状态,事件上报需要稳定的网络连接。
- iOS平台需确保已配置
NSUserTrackingUsageDescription权限,并正确处理App Tracking Transparency授权,否则可能影响事件上报。
内容的提问来源于stack exchange,提问作者Dinesh R
相关产品推荐
相关产品推荐

