WebView 报告中的用户隐私

对于选择与 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 共享使用情况统计信息和诊断数据时,所有应用的使用情况统计信息令牌都会清除。当应用缓存被清除时,崩溃报告令牌会清除。当应用被卸载或应用数据被清除时,这两个令牌都会清除。

其他资源

要了解有关用户隐私的更多信息,请参阅构建保护隐私的应用