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

其他资源

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