Iphone iOS:如果没有互联网,google analytics SDK是否会缓存所有数据以备日后发送?

Iphone iOS:如果没有互联网,google analytics SDK是否会缓存所有数据以备日后发送?,iphone,objective-c,ios,google-analytics,Iphone,Objective C,Ios,Google Analytics,如果没有Wifi可用,google analytics SDK是否会缓存所有数据以便稍后发送?我想当iPhone/iPad在线时(有互联网可用),一切都正常,然后它会发送所有事件数据。但是,当设备没有互联网连接时,它的功能又如何呢?我是否必须手动检查互联网连接(例如使用apple reachability类)并维护数据缓存以供以后使用?是一个相关问题,基本上需要使用批处理。我认为分析使这方面更加透明(您只需记录事件,它就能处理所有事情)。简短回答:是 更多详情: 如果您使用的调度周期大于零(假设

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

是一个相关问题,基本上需要使用批处理。我认为分析使这方面更加透明(您只需记录事件,它就能处理所有事情)。

简短回答:

更多详情:

  • 如果您使用的调度周期大于零(假设为15):

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

    • 如果调用
      dispatch
      但连接不可用,事件将被缓存,因此下一个
      dispatch
      调用将尝试批量发送缓存的事件
    • 同样,在应用程序会话之间缓存事件
  • 上述情况也适用于上述两种情况的混合:您使用dispatch period>0,但您决定手动分派某些事件

    注意:我不知道GA tracker在其缓冲区被覆盖或失控之前可以缓存多少事件/数据

    使用GA的其他一些技巧:

    • 如果您对某些内容不确定,请将选项
      dryRun
      设置为YES并进行测试 你的情景。您还可以使用其他帐户ID进行测试
      没有试运行
    • 使用
      GANTrackerDelegate
      方法查看是否发送了命中

    对于我来说,GA无法报告离线活动。为了验证这一点,我们试着让iPad离线15分钟,记下在半小时内恢复在线后应该出现的点击量,但似乎所有数据都丢失了。而FLURRY准确地发送了所有数据。知道吗?@rohan patel抱歉不知道,我已经三年没有在iOS上使用GA了,我相信这段时间它的API变化很大。批处理?我认为SDK会在连接互联网后自动发送点击。答案中给出的链接已失效/