2011-04-07 35 views
2

我需要将Flurry与Android集成,并且想知道用户将在主屏幕中停留多久(以分钟为单位)。使用Flurry可以得到这样的分析吗?当我检查Flurry时,它给了我一个特定屏幕上命中计数的静态图。我想知道的是用户在主屏幕上花费的平均时间。请在这方面提供帮助。可以使用Flurry分析提供整数信息的平均值吗?

+0

你应该接受一个答案。 – tmandry 2011-08-31 05:16:29

回答

-1

我对Flurry没有把握,但是您可以通过Localytics(www.localytics.com)使用事件属性来做到这一点。只需跟踪用户在主屏幕上花费多长时间(或者您的应用程序中的任何活动),然后将其记录为事件结束时触发的事件的bucketed事件属性。

伪码示例:

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"; } 
    ... 
} 
+0

嗨亨利, 感谢您的回答。但我发现这可以通过设置定时事件在Flurry中,然后在字典中传递整数值。转到应用程序的Flurry网站中的Events部分,可以在事件参数下查看它们。乱舞效果很好。 – Kulai 2011-04-15 04:26:29

5

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

  • LOGEVENT(字符串EVENTID,布尔计时)
  • LOGEVENT(字符串EVENTID,地图参数,布尔计时)

要结束定时事件调用

  • endTimedEvent(字符串EVENTID )

在你的情况下,这将被称为我n主屏幕的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秒。然后在同一时间段内与所有其他用户进行平均。

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); 
     } 


} 
IN我登录的唯一的事件条件的第一部分

,在第二部分,我把去里面的参数的情况下(与命名键“事件” HashMap的名称和值事件名称)和我用参数记录类别的名称(内部的事件)

FlurryAgent.logEvent(category, parameters); 

希望这有助于!

相关问题