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 状态所需的信息。这包括生成线程内调用序列所需的系统信息、进行中的现场试验和来自应用的堆栈内存。

系统会对堆栈内存进行排错以移除字符串,以便仅捕获生成堆栈轨迹所需的信息。使用情况统计信息或崩溃报告不会收集任何网址。

假名化标识符和数据隐私权

WebView 收集的崩溃报告和使用情况统计信息包含一个随机生成的 128 位令牌,用于以假名化方式删除重复的报告并确保统计信息的准确性。令牌值不会在应用之间共享,并且崩溃报告和使用情况统计信息具有独立的令牌。当用户选择停止与 Google 分享使用情况统计信息和诊断信息时,所有应用的使用情况统计信息令牌都会被清除。清除应用缓存时,系统也会清除崩溃报告令牌。当应用被卸载或清除应用数据时,这两个令牌都会被清除。

其他资源

如需详细了解用户隐私权,请参阅构建私密应用