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

How do I track session length in AWS Mobile Analytics?

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

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

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

您说的 KPI 在 Mobile Analytics 控制台中不是现成可用的。

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

就获取此指标的选项而言,如果您的控制台中有 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,例如自定义事件总数或自定义属性值的值总数。