对于 与 Google 分享使用统计信息和诊断信息 的用户,WebView
会将使用统计信息和崩溃报告发送到 Google。使用统计信息包含系统信息、活动字段试验、功能使用情况、响应能力、性能和内存使用情况等信息。它们不包含任何个人识别信息。
使用统计信息
收集到的使用统计信息用于改进 WebView
性能,评估对现有功能的更改的影响,并指导新功能的开发。
WebView
的稳定频道从一小部分用户那里收集使用统计信息。预发布频道可能会从更多用户那里抽样。
从 WebView
71 开始,这些统计信息与应用包名称相关联。这使 Google 可以主动监控和解决可能降低特定应用性能而不导致崩溃的 WebView
问题。
在 WebView
104 之前,对于任何给定的应用,最多 10% 的用户上传包含包名称的报告。其他用户上传空白包名称或根本没有上传记录。
从 WebView
104 开始,对于位于允许的热门应用列表中的应用,始终会记录应用包名称。其他应用上传空白包名称。
选择退出使用统计信息
应用可以通过在清单的 <application>
部分中包含以下内容来选择退出使用统计信息收集
<meta-data android:name="android.webkit.WebView.MetricsOptOut" android:value="true" />
这会为应用的所有用户禁用使用统计信息收集,无论他们是否启用了相应的设置。它不会禁用崩溃报告。
选择退出指标收集
WebView
能够在用户同意的情况下将匿名诊断数据上传到 Google。数据是在为每个实例化 WebView
的应用的每个应用的基础上收集的。您可以通过在清单的 <application>
元素中创建以下标记来选择退出此功能
<manifest> <application> ... <meta-data android:name="android.webkit.WebView.MetricsOptOut" android:value="true" /> </application> </manifest>
只有当用户同意 **并且** 应用没有选择退出时,才会从应用上传数据。有关选择退出诊断数据报告的更多信息,请参阅以下关于崩溃报告的部分。
崩溃报告
当 WebView
对象可能是崩溃的原因时,会收集崩溃报告。崩溃报告包含确定崩溃时 WebView
状态所需的信息。这包括系统信息、活动字段试验以及生成线程中执行的调用序列所需的应用堆栈内存。
堆栈内存经过清理以删除字符串,目的是仅捕获生成堆栈跟踪所需的信息。不会收集任何 URL 作为使用统计信息或崩溃报告的一部分。
匿名标识符和数据隐私
由 WebView
收集的崩溃报告和使用统计信息都包含一个随机生成的 128 位令牌,用于匿名重复数据删除报告并在统计数据中保持准确性。令牌值不会在应用之间共享,崩溃报告和使用统计信息具有独立的令牌。当用户选择退出与 Google 分享使用统计信息和诊断信息时,所有应用的使用统计信息令牌都会被清除。当应用缓存被清除时,崩溃报告令牌会被清除。当应用被卸载或应用数据被清除时,这两个令牌都会被清除。
其他资源
要详细了解用户隐私,请参阅 构建私密应用。