簡體   English   中英

每個活動中的亂舞分析?

[英]Flurry analytics in every Activity?

我想在我的Android應用程序中集成flurry分析,它看起來非常簡單。 但我不熟悉亂舞及其運作方式。

我應該添加代碼:

public void onStart()
{
super.onStart();
FlurryAgent.onStartSession(sample, “APIXXXXXXXXXXXX”);

}

在每個活動?

我的應用程序使用了很多活動,我並不真正關心跟蹤使用哪些活動,只關注安裝次數,會話次數和會話長度。 但是,如果僅在啟動活動中添加了flurry代碼,那么會話長度是否可用?

我知道我想要的大部分信息已經在Play商店中提供,但我想嘗試這一點來概述不同平台上的應用程序。

這是一個很好的答案: https//stackoverflow.com/a/8062568/1635817

我建議你創建一個“BaseActivity”並告訴你所有的活動來擴展它,這樣你就不必在每個活動類中復制/粘貼這些行。

像這樣的東西:

public class BaseActivity extends Activity
{
    public void onStart()
    {
       super.onStart();
       FlurryAgent.onStartSession(this, "YOUR_KEY");
       // your code
    }

    public void onStop()
    {
       super.onStop();
       FlurryAgent.onEndSession(this);
       // your code
    }
}

回應@conor評論:

來自Flurry的文檔

只要有任何上下文調用了onStartSession(Context,String)而不是onEndSession(Context),會話就會繼續。 此外,如果新的Context在最后一次調用onEndSession的Context的10秒內(默認會話超時長度)調用onStartSession(Context,String),則會恢復會話,而不是創建新會話。 會話長度,使用頻率,事件和錯誤將繼續作為同一會話的一部分進行跟蹤。 這可確保當用戶在應用程序中從一個Activity轉換到另一個Activity時,他們將不會為每個Activity跟蹤單獨的會話,但會有一個跨越許多活動的會話。

來自florianmski的答案很有意義,但是當您必須在應用程序中使用不同類型的活動時會出現一些問題,例如FragmentActivity,TabActivity,ListActivity等。 在這種情況下,您無法從單個BaseActivity擴展所有活動。 我個人更喜歡在每個活動的onStart和onStop方法中調用onStartSession和onEndSession,但在將它們包裝到某個類之前,例如:

public class Analytics {
    public static void startSession(Context context) {
        FlurryAgent.onStartSession(context, Config.FLURRY_KEY);
        // here could be some other analytics calls (google analytics, etc)
    }
    public static void stopSession(Context context) {
        FlurryAgent.onEndSession(context);
        // other analytics calls
    }
}

在每個活動內:

public void onStart() {
    super.onStart();
    Analytics.startSession(this);
}

public void onStop() {
    super.onStop()
    Analytics.stopSession(this);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM