Flurry Analytics outside of Android Activity



在当前项目中,我正在使用"帮助程序"类进行API调用,这不会扩展Activity。此帮助程序类是从活动中调用的,在该活动中,Flurry 会话按建议启动和停止。是否可以直接从此帮助程序类进行 Flurry 调用?我想说是的,因为 Flurry 会议已经作为当前活动的一部分开始,但我不确定。

我宁愿在收到 API 调用的结果时立即记录 Flurry 标签,而不是在活动中再次检查结果消息,这样我就不必重复一些逻辑。

这行得通吗?有没有更好的方法?

编辑。见下文。

谢谢乔迪。我最终使用您的建议将 Activity 传递到帮助器类构造函数中,设置一个局部活动变量,并创建一个使用活动变量记录 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 标签是否已经开始出现。

*** 2012-5-9 ***

根据spacemanaki的建议,我决定重新设计我的逻辑,将Flurry事件记录在活动中,而不是帮助程序类中。这真的没有太多额外的工作,我已经验证了正在报告的事件。这也比在一种方法中启动和停止慌乱的会话更安全。

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

活动类:

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

帮助程序类:

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

您可以在创建帮助程序时执行相同的操作,并将活动变量另存为类变量,以便在需要时使用它。

最新更新