Flurry 4.2.2 SDK不在iOS中发送事件会话数据

dre*_*ful 4 sdk events tracking flurry ios

我知道Flurry报告存在延迟,但是,我们在第二天看到Flurry的报告没有结果.

    [Flurry setDebugLogEnabled:YES];
    [Flurry setLogLevel:FlurryLogLevelDebug];
    [Flurry startSession:_appSettings.flurryAppId];
    [Flurry setSessionReportsOnCloseEnabled:YES];
    [Flurry setSessionReportsOnPauseEnabled:YES];
    [Flurry setEventLoggingEnabled:YES];
    UIDevice *device = [UIDevice currentDevice];
    [Flurry logEvent:@"SESSION_START"
      withParameters:[NSDictionary dictionaryWithObjectsAndKeys:[device systemVersion], @"OS", nil]
               timed:YES];
Run Code Online (Sandbox Code Playgroud)

我们的日志显示应用程序中发生的各个Flurry日志调用.我们没有看到的是暗示将信息发送到Flurry的任何信息.

双方setSessionReportsOnPauseEnabled:setSessionReportsOnCloseEnabled:设置为YES,但有会话数据的乱舞没有通信时,应用程序被暂停或关闭.当我重新启动应用程序时,Flurry尝试发送不幸导致的会话数据:

FlurrySession: Add crashed former session
Run Code Online (Sandbox Code Playgroud)

按照指示,我们开始了Flurry会议:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions method of your AppDelegate
Run Code Online (Sandbox Code Playgroud)

根据Flurry的网站,我们不会跟踪任何事件.

我们正在使用Flurry 4.2.2 SDK

dre*_*ful 14

这个问题似乎是Flurry SDK 4.2.2独有的:

在4.2.2中有一种新方法:

+ (void)setBackgroundSessionEnabled:(BOOL)setBackgroundSessionEnabled;
Run Code Online (Sandbox Code Playgroud)

YES如果UIBackgroundModes您的应用程序有任何设置,它会自动设置为.我们的应用程序在后台使用GPS.因此,Flurry在转到后台时永远不会发布会话数据.

当我强制时,[Flurry setBackgroundSessionEnabled:NO];它会在按下主页按钮并且应用程序转到后台时发送会话数据.

我不确定这是怎么回事.我们无需使用Flurry来更新GPS位置,因此这对我们现在起作用.

希望这可以帮助其他人解决这个问题.

更新:2014年6月17日:

我在Flurry的常见问题解答中找到了更多

  • 1+我的应用程序使用UIBackgroundModes并且它没有使用4.2.2 SDK将任何事件发布到Flurry.谢谢! (4认同)