繁体   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