Flurry startsession的正确appDelegate方法?

时间:2011-12-16 16:57:26

标签: iphone ios cocoa-touch uiapplicationdelegate flurry

Flurry文档建议将startSession来电置于applicationDidFinishLaunching:

这有两个问题......

- (void)applicationDidFinishLaunching:(UIApplication *)application 
{
    [FlurryAnalytics startSession:@"AWESOMEAPIKEY"];

    // ...
}

1) application:didFinishLaunchingWithOptions:不是新批准的发布点吗?

2)这只在启动时调用一次,但是每次用户打开或切换回应用时我们都不想要会话信息吗?或者Flurry通过收听某些事件或NSNotification

来自行处理所有这些事情

startSession电话放在applicationDidBecomeActive:applicationWillEnterForeground:中是不是更好的地方,如此?

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    // ... Flurry AppCircle setup
    [FlurryAnalytics startSession:@"AWESOMEAPIKEY"];

    // ... your setup
}

2 个答案:

答案 0 :(得分:2)

为您的情况1) 正确放置[FlurryAnalytics startSession:@"SOMESESSIONKEY"];的地方是

application:didFinishLaunchingWithOptions:

你可以毫无后顾之忧地放在那里。我自己做了这个,应用程序在appstore工作非常棒,并提供完美的统计数据。

对于案例2),当应用程序返回前台时,您的分离将自动恢复,因此您不必在此处进行任何特殊处理。

答案 1 :(得分:1)

我对此也很好奇。我查看了我的应用程序的继承代码,并没有看到任何关于didbecomeactive,前景等的乱七八糟的活动。我只看到了didfinishlaunchingwithoptions的startsession。我在flurry网站上看到了下面的内容:startsession,但是我仍然不知道它是如何工作的,只是幕后花絮图书馆的幕后工作? @samfisher,你能详细说明吗?

“此方法充当Flurry Analytics集合的入口点。必须在applicationDidFinishLaunching范围内调用。会话将在应用程序处于前台的期间内继续,直到您的应用程序在setSessionContinueSeconds中指定的时间内进行后台处理:。如果应用程序在该时间段内恢复,则会话将继续,否则将开始新的会话。“

FlurryApi.h显示setSessionContinueSeconds的默认值为10,所以我猜Flurry处理它,我只是想找到更多的确认。

http://support.flurry.com/sdkdocs/iOS/interface_flurry_analytics.html#a78b0b92085b38875d51f1ca0d699849a