对于与 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 共享使用统计信息和诊断信息时,所有应用的使用统计信息令牌都会被清除。清除应用缓存时,崩溃报告令牌也会被清除。卸载应用或清除应用数据时,这两个令牌都会被清除。
其他资源
要了解有关用户隐私的更多信息,请参阅 构建私密的应用。