مخطّط لحِزم البيانات الوصفية للتطبيقات

从 Android 14 开始,Android 软件包安装程序可以提取应用的元数据(例如数据安全做法),以便在 Android 平台功能(例如更新后的位置信息权限提示)中使用。

提供此元数据的方法有两种:

  • 对于系统映像中预加载的应用,设备制造商可以通过将 XML 文件添加到系统映像(并附带下文所述的可持久化软件包)来提供有关该应用的元数据。

  • 对于正在安装或更新的应用,如需指定此元数据,请应用 安装程序应将 PersistableBundle 对象传入 setAppMetadata() 方法。

顶级持久化软件包由以下键值对组成。除非另有说明,否则每个键都是可选的。

version(必需)
应用元数据格式的版本号。使用 2 作为此项的值 当前版本,类型为 long。如果需要的键或内容类型 AppMetadata 更改,Android 将更改版本号。
safety_labels
一个 PersistableBundle 对象,用于指定应用的安全标签
system_app_safety_label
一个 PersistableBundle 对象,用于指定应用的 system-app-safety-label。对于充当系统服务的应用, 使用的是 system_app_safety_label 软件包,而不是 safety_labels 软件包。
transparency_info
一个 PersistableBundle 对象,用于指定应用的透明度 信息

安全标签格式

safety_labels 软件包包含以下键值对:

version(必需)
安全标签格式的版本号。将 1 用作此当前版本的值,并将 long 用作类型。
data_labels
一个 PersistableBundle 对象,用于指定应用收集的数据 和分享
security_labels
一个 PersistableBundle 对象,用于指定应用的数据删除和 加密做法
third_party_verification
一个 PersistableBundle 对象,用于指定应用的数据安全 做法经过第三方验证

收集和分享的数据

data_labels 软件包包含以下键值对:

data_collected
一个 PersistableBundle 对象,用于指定应用收集的数据类型。
data_shared
一个 PersistableBundle 对象,用于指定应用需要访问的数据类型 份额。

数据类别

data_collecteddata_shared 键都使用 data_category 软件包格式,其中包含以下列表中所示的键值对。每个键都会映射到一个 PersistableBundle 对象,该对象可为特定类别指定数据类型

  • personal
  • financial
  • location
  • email_text_message
  • photo_video
  • audio
  • storage
  • health_fitness
  • contacts
  • calendar
  • identifiers
  • app_performance
  • actions_in_app
  • search_and_browsing

数据类型

data_category 软件包中的每个键都会映射到使用 data_type 格式的不同软件包。您以 data_type 格式指定的键取决于您为 data_category 选择的内容。

可能的 data_type 键值对会显示在以下列表中。通过 每个键的值都是一个 PersistableBundle 对象,用于描述 应用针对该特定数据类型的数据使用做法。某些数据类型仅使用一个键。

个人

  • name
  • email_address
  • physical_address
  • phone_number
  • race_ethnicity
  • political_or_religious_beliefs
  • sexual_orientation_or_gender_identity
  • personal_identifiers
  • other

金融

  • card_bank_account
  • purchase_history
  • credit_score
  • other

位置信息

  • approx_location
  • precise_location

电子邮件和短信

  • emails
  • text_messages
  • other

照片和视频

  • photos
  • videos

音频

  • sound_recordings
  • music_files
  • other

存储

files_docs

健康健身

  • health
  • fitness

通讯录

contacts

日历

calendar

标识符

other

应用性能

  • crash_logs
  • performance_diagnostics
  • other

应用内操作

  • user_interaction
  • in_app_search_history
  • installed_apps
  • user_generated_content
  • other

搜索和浏览

web_browsing_history

数据使用

data_usage 软件包包含以下键值对:

purposes(必需)

一个整数数组,表示收集或 分享数据并使用PersistableBundle putIntArray 方法。每种服务必须至少符合下面定义的一种用途 软件包。

  • 1:PURPOSE_APP_FUNCTIONALITY
  • 2:PURPOSE_ANALYTICS
  • 3:PURPOSE_DEVELOPER_COMMUNICATIONS
  • 4:PURPOSE_FRAUD_PREVENTION_SECURITY
  • 5:PURPOSE_ADVERTISING
  • 6:PURPOSE_PERSONALIZATION
  • 7:PURPOSE_ACCOUNT_MANAGEMENT
is_collection_optional

布尔值。指定用户能否选择启用或停用 数据收集。

注意 :请仅为 data_category 个软件包,代表数据收集;不设置 以便实现数据共享

ephemeral

布尔值。指定应用是否处理数据 服务器端仅在内存中,不在磁盘中,并且应用保留数据 超过进行特定数据处理所需的时间 请求。

注意 :请仅为 data_category 个软件包,代表数据收集;不设置 以便实现数据共享

数据删除和加密做法

security_labels bundle 包含表示应用 数据删除和加密做法:

is_data_deletable
布尔值。指定应用是否允许用户 应用删除其用户数据。
is_data_encrypted
布尔值。指定应用收集的所有用户数据是否 会在传输过程中加密

第三方验证

third_party_verification 软件包由单个键 url 组成。通过这个网址 以字符串值的形式表示,用于指定用于 验证应用的数据安全信息。

系统服务安全标签格式

对于充当系统服务的应用,系统会使用 system_app_safety_label 软件包(而非 safety_labels 软件包),其中包含以下键值对:

url必需

  • 指向一个包含应用安全信息的网页的网址, 充当系统服务
  • 使用 string 作为类型。
  • 如果没有提供,则应将隐私权政策网址用作 后备广告。
  • 注意:Google Play 商店使用 privacy_policy 作为后备选项。

透明度信息格式

transparency_info 软件包包含以下键值对:

developer_info
一个 PersistableBundle 对象,用于指定应用相关信息 开发者
app_info
一个 PersistableBundle 对象,用于指定应用相关信息

开发者信息

developer_info 软件包包含以下键值对:

developer_#
用于标识开发者的 PersistableBundle 对象。通过 developer_info 包含一个或多个 developer_#, 其中 # 是一个整数。例如 developer_0developer_1developer_2 等。

开发者

developer_# 软件包包含以下键值对:

name必需
一个声明开发者名称的字符串。
email必需
一个声明开发者电子邮件地址的字符串。
address必需
一个字符串,指明开发者的邮寄地址。
country_region必需
一个说明开发者所在国家或地区的字符串。
website
表明开发者网站的字符串。

app_registry

  • 表明开发者的存储区或注册表的字符串。
  • 如果开发者还在商店或其他域名注册管理机构注册,则此值 应为商店的 Android 软件包名称或注册机构的网址。
  • 允许为多个商店提供多个条目。
  • 对于 Google Play,请使用 com.android.vending
  • 如果开发者是 Google Play SDK 索引中收录的 SDK,请省略此字段 属性。
  • 如果开发者未在任何应用商店或注册机构注册,请省略此内容 属性。

app_registry_id

  • 一个字符串,用于说明所声明 app_registry 的开发者 ID。
  • 如果开发者也在某个商店或其他注册数据库中进行了注册,此元素的值应为相应商店或注册数据库的标识符。
  • 允许为多个商店提供多个条目。
  • 对于通过 Google Play 注册的开发者,此值必须是网址 (例如, https://play.google.com/store/apps/dev?id=5700313618786177705 是 开发者 Google LLC 的网址)。
  • 如果开发者为 Google Play SDK 索引中列出的 SDK 开发者,则使用相应 SDK 的 Google Play SDK 索引网址(例如,https://play.google.com/sdks/details/com-google-android-gms-play-services-ads 是 Google 移动广告 [GMA] SDK 的 Google Play SDK 索引网址)。
  • 如果开发者是在其他商店或注册库注册的,则为应用商店 可以提供网址或其他标识符。
  • 如果开发者未在任何应用商店中注册,则可忽略此属性。

应用信息

app_info 软件包包含以下键值对:

title必需
一个说明应用名称的字符串。
description必需
一个字符串,以人类可读的文本 blob(英语)形式提供应用用途说明。
contains_ads必需
一个布尔值,用于声明应用是否会展示任何广告。

privacy_policy必需

  • 一个字符串,其中包含指向详细说明用户数据处理方式的隐私权政策的网址属性。
  • 对于传输用户数据的应用而言是必需的。
  • 如果应用不包含此链接,则系统会假定该应用不包含 处理用户数据
category必需

一个字符串,其中包含以下某个最适合的应用类别 说明了应用的主要用途:

  • Android(仅适用于 AOSP 组件)*
  • 艺术与设计
  • 汽车和交通工具
  • 美容时尚
  • 图书与工具书
  • 商业
  • 漫画
  • 通信
  • 约会交友
  • 教育
  • 娱乐
  • 活动
  • 财务
  • 饮食
  • 游戏
  • 健康与健身
  • 家居
  • 安装程序(仅适用于应用商店或其他安装程序)*
  • 媒体库与演示
  • 生活时尚
  • 地图与导航
  • 医疗
  • 音乐与音频
  • 新闻与杂志
  • 育儿
  • 个性化
  • 摄影
  • 效率
  • 安全性*
  • 购物
  • 社交
  • 体育
  • 工具
  • 旅行与本地出行
  • 更新程序(仅适用于设备的默认无线下载 (OTA) 更新应用)*
  • 视频播放器和编辑器
  • 天气
contact_info
一个PersistableBundle对象,包含联系信息 应用(见下文)。

联系信息

contact_info 软件包包含以下键值对:

email必需
一个字符串,用于说明应用的电子邮件地址。
website
用于指明应用的网站的字符串。