Flurry分析能否提供平均整数信息?

时间:2011-04-07 17:24:36

标签: android flurry

我需要将Flurry与Android集成,并想知道用户将在主屏幕中停留多长时间(以分钟为单位)。是否有可能使用Flurry进行此类分析?当我检查Flurry时,它给了我关于特定屏幕上点击次数的静态。我想知道的是用户在主屏幕上花费的平均时间。在这方面请帮助。

3 个答案:

答案 0 :(得分:5)

这可以通过定时事件来完成。只需调用以下方法之一即可启动定时事件。在您的场景中,这应该在主屏幕的onStart方法中完成。

  • logEvent(String eventId,boolean timed)
  • logEvent(String eventId,Map parameters,boolean timed)

结束您的定时事件通话

  • endTimedEvent(String eventId)

在您的场景中,这将在主屏幕的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"; }
  ...
}