9

我刚刚用 API v3 替换了 GA 实现,并发现了这个有用的会话管理功能: https ://developers.google.com/analytics/devguides/collection/ios/v3/sessions

自从我实施以来,每个会话都在 00:00:00 进行测量。

有人设法使用它吗? 或者我的客户端代码有问题。


(基于时间间隔的会话计算为我的需要提供了不准确的数据)

4

1 回答 1

11

我遇到了同样的问题,问题是一旦应用了开始会话值,它就会应用于所有未来的分析事件。这意味着您发送的每个事件都将开始一个新会话,结果将使您的所有会话都为 0:00:00。

注意:这个解决方案是由另一个堆栈溢出提供给我的,但我现在似乎找不到它。我猜这不是谷歌分析的 iOS 实现。

对我有用的解决方案是在调用 start 后将 session 变量设置为 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"];
}
于 2013-12-16T17:10:37.020 回答