Tag: 派遣

我们如何在iOS应用程序转到后台时调度Google Analytics事件?

我的iOS应用程序有链接到苹果的App Store中,我试图跟踪这些事件。 问题是,我们无法让我的应用程序在进入后台之前正确地分配GA事件。 我们正在使用iOS SDK v2beta4。 这里是我们正在使用的代码的概述。 你可以看到我们已经把很多我称之为“保险单”的代码,因为我们认为是正确的方式是行不通的。 但即使是保险政策代码,也不会在我的应用程序进入后台之前始终调度事件。 它只能工作大约50%的时间,其余的时间我不得不返回到应用程序来获取事件发送。 我们相信正确的方法是在“applicationDidEnterBackground”中派发事件,并通过“beginBackgroundTaskWithExpirationHandler”请求iOS额外的时间来完成此事。 我们已经尝试了这个代码,没有我的“保险单”代码。 至less我相信我们正确地评论了每一行保险代码。 请注意,我们设置全局variablesUIBackgroundTaskIdentifier bgTask; 在代码的AppDelegate.h头文件中 UIBackgroundTaskIdentifier bgTask; 这里是我们认为是正确的方法来做到这一点的代码: – (void)applicationDidEnterBackground:(UIApplication *)application { UIApplication *app = [UIApplication sharedApplication]; bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ [app endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; }]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ [[GAI sharedInstance] dispatch]; [app endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; }); } 上面的代码是我们认为应该工作,但没有。 注意:App Store不是一个普通的应用程序,而是一个应用程序中的网站,如果这有所作为。 作为一项保单,我们已经做了一些其他事情约50%的时间派发事件: […]