没有网络连接时,iPhone上的Google Analytics调用会发生什么?

16

各位开发者,你们好! 我正在研究用于iPhone应用的分析产品。我发现谷歌分析似乎很不错。但是,我并没有找到很多关于它的文档。我的主要关注点是:

当没有网络连接时,trackPageview或event tracking调用会发生什么情况?这些方法调用是否会被持久化以备将来有网络连接时发送,还是会产生错误而停止运行?

非常感谢您的帮助!

3个回答

6
根据Google的文档,如果用户在等待分派的命中仍然存在时失去了网络访问或退出您的应用程序,则这些命中将被保存在本地存储中。它们将在下次运行您的应用程序并调用分派时进行分派。您可以阅读更多关于如何进行分派的信息: https://developers.google.com/analytics/devguides/collection/ios/v2/dispatch

3

3
没错,但如果批处理无法连接到互联网会发生什么?在“已知问题”中说明:“可能存在不准确的时间戳:时间戳记录在应用程序提交到Google Analytics时,如果用户长时间离线使用,则时间戳可能不是100%准确。”这是否意味着跟踪事件正在某处存储以待稍后发送? - Pacu
是的,跟踪数据被存储以便稍后发送。由开发人员启动批量发送。您可以事先检查是否有可用的互联网连接(或其他访问方式),然后再发送。在最坏的情况下,您会丢失一些跟踪数据,但这对于统计分析来说并不是什么大问题。 - Mike Bretz
“在最坏的情况下,您会失去一些跟踪数据,但与统计分析相比,这不应该是什么严重问题。”的意思是什么?对我来说,分析数据的完整性非常重要,您有任何“数据丢失”的例子吗?谢谢。 - Franck
@Franck 这是 GA 的一个已记录特性。该框架不会永久缓存所有数据,它工作方式类似于具有有限大小的缓冲区。如果该设备没有访问互联网,则将丢失一些数据。如果这是您唯一的客户,则情况非常严峻,但如果这只是数千个设备中的一个,则统计数据的丢失并不是关键问题。 - Mike Bretz
1
链接已失效。在V3 SDK中,批处理是否不存在? - rohan-patel

0

其他一些服务在批处理方面非常强大。Localytics(www.localytics.com)有一个免费的开源库,因此您可以查看它们的批处理方式。如果没有连接,则数据存储在设备上,直到下一次会话时有连接。

-- 亨利


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接