Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 由于进入了监控区域,在应用程序启动后使用Flurry录制事件_Ios_Flurry - Fatal编程技术网

Ios 由于进入了监控区域,在应用程序启动后使用Flurry录制事件

Ios 由于进入了监控区域,在应用程序启动后使用Flurry录制事件,ios,flurry,Ios,Flurry,情况如下。我有一个iOS应用程序,它使用CLLocationManager的区域监控功能在输入预定义的地理区域时通知应用程序。通过区域监控的工作方式,应用程序可以在用户进入某个区域时收到通知,即使应用程序之前已终止。基本上,当输入区域时,操作系统将启动应用程序(不将其带到前台),并使应用程序有机会响应输入的区域 我试图做的是在输入区域时使用Flurry记录事件。目前,它似乎不起作用,因为即使在几天后,这些事件也不会仓促出现。我应该注意到,我已经测试了I)当用户正常启动应用程序时,Flurry事件

情况如下。我有一个iOS应用程序,它使用CLLocationManager的区域监控功能在输入预定义的地理区域时通知应用程序。通过区域监控的工作方式,应用程序可以在用户进入某个区域时收到通知,即使应用程序之前已终止。基本上,当输入区域时,操作系统将启动应用程序(不将其带到前台),并使应用程序有机会响应输入的区域

我试图做的是在输入区域时使用Flurry记录事件。目前,它似乎不起作用,因为即使在几天后,这些事件也不会仓促出现。我应该注意到,我已经测试了
I)
当用户正常启动应用程序时,Flurry事件日志正常运行,以及
ii)
我的应用程序确实接收到区域输入和退出的事件(每次输入或退出区域时,我都使用本地通知)

我的怀疑是,这与应用程序委托生命周期有关,不同的是,当应用程序因进入某个区域而启动时,与当用户启动应用程序时,应用程序启动时不同。我的第一个怀疑是,当应用程序在后台启动时,没有调用
应用程序:didfishlaunchingwithoptions:
。因为我对
[Flurry startSession:@“my_key”]
的调用位于
应用程序:didFinishLaunchingWithOptions:
方法中,这就解释了问题。然而,苹果的文档表明,
application:didfishlaunchwithoptions:
实际上被称为:

如果您开始监视某个区域,并且随后启动了应用程序 终止后,系统会自动将其重新启动到后台 如果跨过区域边界。在这种情况下,选项 传递给应用程序的字典:didFinishLaunchingWithOptions: 应用程序委托的方法包含密钥 UIApplicationLaunchActionSlocationKey,指示您的 应用程序因与位置相关的事件而启动

虽然我使用的是
startMonitoringForRegion:
而不是
startMonitoringForRegion:desiredAccuracy:
(已弃用),但我假设这两个调用
应用程序:didfishLaunchingwithoptions:
。然后,我阅读了Flurry文档中关于
开始会话的注释:
(我的重点):

此方法作为Flurry Analytics集合的入口点。 必须在ApplicationIDFinishLaunching的范围内调用它。这个 会话将在应用程序处于前台期间继续 直到您的应用程序在中指定的时间内后台运行 setSessionContinueSeconds:。如果应用程序在此期间恢复,则 会话将继续,否则将开始新会话。 注: 如果在模拟器上测试,请确保通过主页按钮将应用程序发送到后台。Flurry取决于完整报告的iOS生命周期。


因此,我的怀疑是,即使我在一台真正的设备上进行测试,该应用程序永远不会被“发送到后台”,因为当它启动时,它从一开始就不会进入前台。有谁能澄清这是我记录的事件从未出现的原因,还是可能有其他原因?还有,有解决办法吗?

所以我联系了Flurry支持部门,我听到的是:

因此,目前无法在应用程序处于后台时记录/记录事件

我们的工程团队正在研究一个解决方案,这个解决方案可能会在几个月后在SDK的未来版本中提供

所以我想我们等着瞧吧