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

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

这是(或一种)正确的方法吗?还是已经可以使用?

最佳答案

您认为在移动分析控制台中开箱即用时没有可用的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,例如自定义事件的总数或自定义属性值的总数。

07-27 22:29