Dan*_*idi 28 ios firebase firebase-analytics
我正在测试新的Google支持的Firebase,并实施了远程通知和崩溃报告.但是,我在使用Analytics工作时遇到了大量问题.
我跟踪事件FIRAnalytics.logEventWithName(...)并保存用户pproperties FIRAnalytics.setUserPropertyString(...).但是,无论我做什么,Firebase Analytics控制台中都不会显示任何数据.
好吧,我确实收到了一些事件,但这些事件并非由我发送(如first_open和session_start).此外,这些数据似乎在很长一段时间后都会下降.
此外,当我跟踪事件并保存用户数据时,我收到以下内容:
Upload task scheduled to be executed in approx. (s): 3102.294599890709
这看起来很奇怪 - Firebase在尝试发送下一批数据之前等待差不多一个小时必须是一个bug,还是可以配置?当我等待那么长时间的延迟时,数据被发送......但是没有显示出来.
dja*_*abi 67
Firebase事件分批编组并每小时上传一次,以防止设备上电池耗尽过多.在iOS上,当您在1h上传目标之前对应用程序进行后台处理时,此时将在后台调度事件.
您可以为iOS启用调试日志记录(https://firebase.google.com/docs/analytics/ios/events#view_events_in_the_xcode_debug_console),以查看何时在调试控制台中上载事件.
上传事件后,大约3小时会有延迟,之后数据会显示在Firebase Analytics信息中心中.此外,默认日期范围不包括"今天",因此您只能看到昨天发生的事件.如果您想查看最新活动,可以将日期选择器切换到今天.
延迟/批量上传数据的主要原因是节省电池电量.每次使用网络时,设备移动网络调制解调器都处于高功率模式并保持此模式一段时间.如果经常使用网络,则会对电池寿命造成严重影响.通过将上传批量合并并延迟上传,可以显着降低对电池的影响.
小智 19
在Swift中应该是这样的:
FIRAnalytics.logEvent(withName: "SignUp", parameters: ["user_id": userid, "user_name": username])
Run Code Online (Sandbox Code Playgroud)
要在Firebase中查看此活动:
要在Xcode中查看此事件:
-FIRAnalyticsDebugEnabledZul*_*ain 12
如果您没有在控制台中接收事件,可能是因为您没有遵循命名约定,因为如果事件名称中有空格,它将永远不会出现在控制台中,如下所示:
mFirebaseAnalytics.logEvent("Add Camera", bundle);
Run Code Online (Sandbox Code Playgroud)
但是当您删除以下空间时:
mFirebaseAnalytics.logEvent("Add_Camera", bundle);
Run Code Online (Sandbox Code Playgroud)
现在,大约3个小时后,您将在控制台中看到事件.在以下情况下,应用程序将数据分派到控制台:
1- Data is more than an hours old
2- App goes into the background
Run Code Online (Sandbox Code Playgroud)
您可以观看本教程以获取更多信息: iOS上的Firebase Analytics入门:事件 - Firecast
另一件需要检查的事情是确保您的日志记录条目正确Arguments Passed on Launch。他们应该以例如-开头
-FIRAnalyticsDebugEnabled
Run Code Online (Sandbox Code Playgroud)
并不是
FIRAnalyticsDebugEnabled
Run Code Online (Sandbox Code Playgroud)
前几天我浪费了一个小时想知道为什么没有记录任何内容。