我需要将Flurry与Android集成,并想知道用户将在主屏幕中停留多长时间(以分钟为单位)。是否有可能使用Flurry进行此类分析?当我检查Flurry时,它给了我关于特定屏幕上点击次数的静态。我想知道的是用户在主屏幕上花费的平均时间。在这方面请帮助。
答案 0 :(得分:5)
这可以通过定时事件来完成。只需调用以下方法之一即可启动定时事件。在您的场景中,这应该在主屏幕的onStart方法中完成。
结束您的定时事件通话
在您的场景中,这将在主屏幕的onStop方法中调用。确保你为布尔定时参数传递true,并且你总是匹配每个Activity的onStart和onStop中的eventIds。
Flurry将在您的开发门户网站帐户中自动报告以下指标。活动>您的活动ID。选择事件持续时间链接或图标(时钟):
平均事件持续时间 - 报告总事件时间除以某个时间段内的事件数。例如,假设您在某段时间内拥有2个应用用户。用户A查看主屏幕10秒钟,进入辅助屏幕并返回主屏幕查看3秒钟。用户B查看主屏幕20秒。报告为(10 + 3 + 20)/ 3 = 11秒。
每个会话的事件持续时间 - 报告每个会话的事件的平均时间长度。会话定义为用户位于应用的任何视图中,不会中断超过10秒(默认暂停时间为10秒,可以更新)。例如,您的用户查看主屏幕15秒,进入辅助屏幕,返回主屏幕5秒钟。该用例的事件持续时间为会话的20秒。然后在同一时间段内对其他会话进行平均。
每个用户的事件持续时间 - 报告每个用户的事件的平均时间长度。用户可以在给定时间段内多次使用您的应用。例如,在一天内说用户查看您的应用3次(3个会话)。在第一个会话中,您的用户查看主页面5秒,第二个会话10秒,第三个会话15秒。该用户的活动持续时间为当天的30秒。然后在同一时间段内与所有其他用户进行平均。
答案 1 :(得分:0)
我给你看一个简单的例子。 在这段代码中,我想用类别记录简单事件和其他事件。
public void logAnalyticsEvent(final String versionName, final String strMsg, final String category){
if (category==null){
FlurryAgent.logEvent(strMsg);
}else{
final HashMap<String, String> parameters = new HashMap<String, String>();
parameters.put("Event",strMsg );
FlurryAgent.logEvent(category, parameters);
}
}
在条件的第一部分我记录了唯一的事件,在第二部分我将事件的名称放在de参数中(一个带有一个名为&#34的键的hashmap; Event&#34;并且值为事件的名称)并且我使用参数(事件内部)
记录类别的名称FlurryAgent.logEvent(category, parameters);
希望这有帮助!
答案 2 :(得分:-1)
我不确定Flurry,但你可以使用Localytics(www.localytics.com)的事件属性来做到这一点。只需跟踪用户在主屏幕上花费的时间(或应用程序中的任何活动),然后将其记录为活动结束时触发的事件的分段事件属性。
Psuedocode示例:
ActivityStart() {
long startTime = getTimeInMilliseconds();
}
ActivityClosing() {
long endTime = getTimeInMilliseconds();
}
ApplicationExitPath() {
long timeSpent = endTime - startTime;
String timeBucket = bucketizeTime(timeSpent);
Dictionary attributes = [ "Main Activity Time Spent", timeBucket];
tagEvent("App Exit", attributes);
}
String bcketizeTime(Long timeSpent) {
if(timeSpent < 1000) { return "less than 1 second"; }
if(timeSpent < 10000) { return "1 - 10 seconds"; }
if(timeSpent < 30000) { return "10 - 30 seconds"; }
...
}