我是否必须在applicationWillTerminate中停止Google Analytics跟踪器?(IOS)

Mat*_*ros 5 iphone google-analytics objective-c ipad ios

我在我的应用程序中使用Google Analytics,虽然我认为我已经仔细地按照入门指南和屏幕跟踪手册进行操作,但是当应用程序进入后台或终止时,我看不到任何应该停止跟踪器的地方.我可以假设也许我没有,但我不想假设.那我应该呢?或者当Google应用程序进入后台/终止时,Google Analytics会自动停止吗?(我也找不到这样说的文件.)

我也问这个,因为我从中GAITracker.h看到有一个叫做的方法close.其描述如下:

关闭跟踪器.这将标记为已关闭,并将其从可通过[GAI trackerWithTrackingId:]访问的跟踪器列表中删除,从而减少其引用计数(并导致它被解除分配,除非应用程序保留它).调用此方法后,调用任何跟踪方法都会出错,并且不会导致生成要提交给Google Analytics的任何跟踪信息.

因为,如果我理解正确,close有效地从内存中删除跟踪器,只需调用[[GAI sharedInstance] trackerWithTrackingID:@"MY-TRACKING-ID"]创建一个新的,我可以在重新启动应用程序时使用?

Piy*_*ush 3

不,无需停止 iOS 版 Google 分析跟踪器。

谷歌已经添加close methodiOS SDK version 2.0beta1(May 25, 2012). 但是,到目前为止,他们还没有提供任何使用此功能的文档或教程。我在我的两个应用程序中使用了谷歌分析来跟踪应用程序安装、屏幕最常访问的内容以及一些事件。我没有在应用程序中的任何地方关闭(或停止)跟踪器,我想到目前为止还没有必要。

我们在方法中添加以下代码application:didFinishLaunchingWithOptions:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"];
Run Code Online (Sandbox Code Playgroud)

每次应用程序启动时,上面的行都会创建一个新的跟踪器实例。
因此,我认为没有必要在应用程序终止时停止(或关闭)跟踪器。

  • 在这种情况下,请允许我添加:我没有在“application:didFinishLaunchingWithOptions:”中调用该行,但它是我的第一个视图控制器的“viewWillAppear”。Google 的文档表示 `trackerWithTrackingId:` *创建或检索具有指定跟踪 ID 的 GAITracker 实现。**如果指定跟踪ID的跟踪器尚不存在,则将创建并返回该跟踪器;**否则,将返回现有的跟踪器。* (2认同)