如何在AWS Mobile Analytics中跟踪会话长度?

时间:2016-08-03 01:20:32

标签: ios amazon-web-services amazon-mobile-analytics

我想报告会话持续时间,但这不会出现在AWS Mobile Analytics控制台的标准图表列表中。

当应用程序进入后台时,我希望能够开始会话,然后计算间隔。

这是(或)正确的方法吗?或者这已经可以使用了吗?

1 个答案:

答案 0 :(得分:2)

您在移动分析控制台中没有开箱即用的KPI是对的。

你的想法似乎也非常适合。会话持续时间的问题在于它可以在移动应用程序的上下文中以多种方式解释,因此您必须决定对您有意义的一些业务规则。

至于获取此指标的选项,如果您的控制台中有auto-export to RedShift enabled,则此处是您可以从以下开始的基本查询:

SELECT session_id
       , DATEDIFF(second 
                , MIN(event_timestamp)
                , MAX(CASE WHEN event_type = '_session.stop' 
                          THEN session_stop_timestamp 
                           ELSE event_timestamp END)
                ) as session_duration
 FROM awsma.v_event
GROUP BY session_id

如果您没有启用自动导出并且不想使用该路线,则可以选择发出一个自定义事件,其中包含您在应用暂停时在应用中计算的会话持续时间指标。如果你想处理应用程序崩溃和潜在的上下文切换,用户暂停应用程序很短的时间(比如呼叫中断会话,但用户立即回到应用程序),你也可以选择存储应用程序暂停时的时间戳,仅在恢复时发出会话持续时间 - 您可以确定是继续上一个会话还是开始新会话。

如果您决定采用自定义指标的路线,最好将会话持续时间(例如以1分钟或5分钟为增量)缓冲。此外,虽然对给定自定义指标的唯一值数量没有限制,但请注意其他limits,例如自定义事件总数或自定义属性值的总值。