我们的任务是将我们的项目与Kontagent集成。我们的要求包括跟踪用户会话的时长。对于用户活动,Kontagent支持特定的请求类型-页面请求(又称pgr,根据其documentation)。需要这种类型的请求来标识用户访问并通过适当的用户ID进行累积,也可以通过从IP地址获取地理位置信息来使用。但是,没有类似的方法可以通过会话ID跟踪会话。
所以,我需要知道Kontagent如何计算会话长度?它是根据用户活动频率自动完成的,还是应该发送一些请求以标识会话?我可以想到两种选择,但我都不喜欢这两种选择:
使用带有会话ID的附加Page Request
。与确认用户活动的标准请求一起,我可能会发送附加的,这次是通过会话ID。如果Kontagent使用某些算法根据用户活动频率(我们已经发送的带有用户ID的Page Request
知道这一点)来计算会话长度,则这将是不必要的,并且在统计意义上没有意义。被回答。
使用默认Page Request
中的data参数。 Kontagent对大多数请求都支持data
参数。它是base64编码的JSON映射对象,应该包含键值对,我可以在其中放置会话ID。问题是,data
参数中的信息不会参与/影响Kontagent计算的统计信息-就例如按会话ID进行分组和扩展每个会话的聚合而言。
我很高兴了解有关此事的任何线索。
这个问题的答案在一定程度上取决于您希望会话长度信息具有多少粒度。因此,我强烈建议您通过电子邮件发送支持,以进一步了解您的特定用例。
列出该警告后,Kontagent会为大多数客户计算平均会话时长,这样您就无需传递或计算您身边的“会话”信息。通过检查给定应用程序用户的消息流,然后查找大于某个阈值的消息间隙(对于社交应用程序,该阈值是30分钟;对于移动应用程序,该阈值是2)来计算该平均会话长度分钟)表示一个会话的终止,并可能指示下一个会话的开始。
如果您需要比检查平均会话长度更精细(例如,如果您要查看特定用户的会话长度),则可以在我们的DataMine产品中运行此查询,该查询可让您查询您通过Kontagent的原始消息数据。