iOS:如果没有可用的互联网,谷歌分析SDK会缓存所有数据以便稍后发送吗?

Cen*_*ion 7 iphone google-analytics objective-c ios

如果没有可用的Wifi,谷歌分析SDK是否会缓存所有数据以便稍后发送?我想当iPhone/iPad在线(有互联网可用)时一切正常,然后它会发送所有事件数据.但是当设备没有互联网连接时它的功能呢?我是否手动检查互联网连接(例如使用apple可达性类)并维护数据缓存以供以后使用?

mat*_*atm 13

简短回答:是的.

更多细节:

  1. 如果您使用大于零的派遣期(假设为15):

    • 每15秒GA跟踪器将尝试发送事件,AND
    • 如果没有可用的网络连接,跟踪器将在15秒后尝试发送,直到成功,AND
    • 如果它失败并且您退出应用程序(它不会在后台暂停),则在下一个应用程序会话中,跟踪器将尝试根据调度周期再次发送您的事件.
  2. 如果你使用派遣期等于-1,这意味着你通过调用手动调度你的事件[[GANTracker sharedTracker] dispatch]:

    • 如果你打电话dispatch但连接不可用,事件将被缓存,所以下一次dispatch调用将尝试批量发送缓存事件,
    • 同样,事件在应用程序会话之间缓存.

以上也适用于以上两种情况的混合:您使用调度周期> 0,但您决定手动调度某些事件.

注意:我不知道GA跟踪器缓存在其缓冲区被覆盖或失效之前有多少事件/数据.

使用GA的其他一些提示:

  • 如果您对某些内容不确定,请将选项设置dryRun为YES并测试您的方案.此外,您可以使用其他帐户ID进行测试,
    无需干运行.
  • 使用GANTrackerDelegate方法来查看是否已发送匹配.