在Application类或每个Activity中乱舞

时间:2015-02-09 13:10:42

标签: android flurry

我将Flurry Analytics放入我的应用中。 根据来源,建议扩展应用程序类并在那里初始化Flurry。

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        // configure Flurry
        FlurryAgent.setLogEnabled(false);

        FlurryAgent.init(this, getResources().getString(R.string.flurrykey));
    }
}

或将其放入每项活动

@Override
protected void onStart()
{
    super.onStart();
    FlurryAgent.onStartSession(this, "YOUR_API_KEY");
}

@Override
protected void onStop()
{
    super.onStop();     
    FlurryAgent.onEndSession(this);
}

两者都正确吗?

2 个答案:

答案 0 :(得分:1)

您应该只启动一次会话,然后您可以将其启动到Main活动中(如果您有一个活动在应用程序的整个生命周期中都处于活动状态)或启动到应用程序类中。

编辑: 更好的解决方案是call onStartSession and onEndSession on each activity

答案 1 :(得分:1)

latest Flurry documentation开始,您应该始终致电FlurryAgent.init(Context, String)

但是,只有在您的应用程序使用的内容少于minSdkVersion 14时(例如,如果您支持Ice Cream Sandwich以下的设备),才应调用FlurryAgent.onStartSession(Context)

如果您的目标是minSdkVersion 14及更高版本,那么 根本不需要致电FlurryAgent.onStartSession(Context)。如果你不是,那么你应该在每个活动中调用它。