2011-04-07 31 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); 

希望這有助於!

相關問題