我刚刚用API v3替换了GA实现,并发现了这个有用的会话管理功能: https://developers.google.com/analytics/devguides/collection/ios/v3/sessions
自从我实施以来,每个会话的测量时间为00:00:00。
有人设法使用此功能吗? 或者在我的客户端代码中出现了一些问题。
(基于时间间隔的会话计算为我的需求提供了不准确的数据)
答案 0 :(得分:10)
我遇到了同样的问题,问题是一旦应用了启动会话值,它就会应用于所有未来的分析事件。这意味着您发送的每个事件都将启动一个新会话,因此会使您的所有会话都在0:00:00。
注意:这个解决方案是通过另一个堆栈溢出给我的,但我现在似乎无法找到它。我猜它不是谷歌分析的iOS实现。
对我有用的解决方案是在调用start之后将会话变量设置为nil,以便不为所有将来的分析命中设置start。
{
// Start the session, only once.
[tracker set:kGAISessionControl
value:@"start"];
// Set this after the session start has been sent. Only needs to be set once but you must be sure that two starts are not sent in a row or you will end up with 0:00:00 sessions.
[tracker set:kGAISessionControl
value:nil];
}
...
{
// Call when the session ends.
[tracker set:kGAISessionControl
value:@"end"];
}