Android活动之外的Flurry Analytics

时间:2012-05-07 07:05:20

标签: android flurry

在当前项目中,我使用“helper”类来进行API调用,但不会扩展Activity。从一个活动调用此辅助类,其中Flurry会话按照建议启动和停止。是否有可能从这个帮助类中进行Flurry调用?我想说是的,因为Flurry会话已经开始作为当前活动的一部分,但我不确定。

我宁愿在收到API调用的结果时正确记录Flurry标签,而不是在Activity中再次检查结果消息,这样我就不必复制某些逻辑了。

这会有用吗?有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

编辑。见下文。

谢谢Jordi。我最终使用你的建议将Activity传递给helper类构造函数,设置一个本地活动变量,并创建一个使用activity var记录Flurry标签的方法。

/**
 * Logs the Flurry tag using the act that was passed into the constructor
 */

// EDITED - DON'T USE THIS ANYMORE

private void logFlurryTag(String s) {

    FlurryAgent.onStartSession(act, "XXXXXXXXXXXXXXXXXXXXX");
    FlurryAgent.logEvent(s);
    FlurryAgent.onEndSession(act);
}

我相信这应该可以正常工作,但我还没等到看Flurry标签是否已经开始进入。

*** 5-9-2012 < / EM>的 ** *

根据spacemanaki的建议,我决定重写我的逻辑,包括在活动中记录Flurry事件而不是辅助类。这真的不是太多额外的工作,我已经验证了正在报道的事件。它也比在一种方法中启动和停止flurry会话更安全。

答案 1 :(得分:0)

您的帮助程序类和/或使用的方法需要一个Activity参数,因此您可以将此Activity发送到Flurry。即

活动类:

 Helper helper = new Helper();
 helper.helping_method(this);

助手班级:

 public void helping_method (Activity activitat){
      FlurryAgent.onStartSession(activitat, "xxxxxxxxxxxxxxxxxx");
      FlurryAgent.onEvent("HELPING METHOD");

创建Helper时可以这样做,并将Activity var保存为Class变量,以便在需要时使用它。