gpt4 book ai didi

ios - 由于进入监控区域而启动应用程序后使用 Flurry 记录事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:43:02 25 4
gpt4 key购买 nike

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

我想做的是在输入区域时使用 Flurry 记录一个事件。目前,它似乎不起作用,因为即使在几天后,事件也没有出现在 Flurry 中。我应该注意,我已经测试了 i) 当用户正常启动应用程序时 Flurry 事件日志记录正常工作,并且 ii) 我的应用程序确实是接收区域进入和退出事件(每次进入或退出区域时我都使用本地通知)。

我怀疑它与应用程序委托(delegate)生命周期有关,应用程序因进入某个区域而启动时与应用程序因用户启动而启动时不同。我的第一个怀疑是 application:didFinishLaunchingWithOptions: 在后台启动应用程序时没有被调用。因为我对 [Flurry startSession:@"my_key"] 的调用是在 application:didFinishLaunchingWithOptions: 方法中,所以这可以解释一些事情。但是,startMonitoringForRegion:desiredAccuracy: 的 Apple 文档建议 application:didFinishLaunchingWithOptions: 实际上被称为:

If you begin monitoring a region and your application is subsequently terminated, the system automatically relaunches it into the background if the region boundary is crossed. In such a case, the options dictionary passed to the application:didFinishLaunchingWithOptions: method of your application delegate contains the key UIApplicationLaunchOptionsLocationKey to indicate that your application was launched because of a location-related event.

尽管我使用的是 startMonitoringForRegion: 而不是 startMonitoringForRegion:desiredAccuracy:(已弃用),但我假设两者都调用了 application:didFinishLaunchingWithOptions:。然后我在 Flurry 文档中阅读了关于 startSession: 的注释(强调我的):

This method serves as the entry point to Flurry Analytics collection. It must be called in the scope of applicationDidFinishLaunching. The session will continue for the period the app is in the foreground until your app is backgrounded for the time specified in setSessionContinueSeconds:. If the app is resumed in that period the session will continue, otherwise a new session will begin. Note: If testing on a simulator, please be sure to send App to background via home button. Flurry depends on the iOS lifecycle to be complete for full reporting.

因此,我怀疑即使我在真实设备上进行测试,该应用程序也永远不会“发送到后台”,因为当它启动时,它从一开始就不会进入前台。任何人都可以澄清这是否是我记录的事件从未出现的原因,或者是否有其他原因?并且,是否有解决方法?

最佳答案

所以我联系了 Flurry 支持,这是我收到的回复:

So, at present its not possible to record / log events while the app is in the background.

Our engineering team is working on a solution to this and this should be available in one of the future versions of our SDK, in probably a months time.

所以我想我们会拭目以待。

关于ios - 由于进入监控区域而启动应用程序后使用 Flurry 记录事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16620675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com