自 Android 14 起,Android 套件安裝程式可擷取應用程式的中繼資料 (例如資料安全性做法),以便用於 Android 平台功能,例如更新後的位置存取權提示。
提供這類中繼資料的方式有兩種:
針對在系統映像檔上預先載入的應用程式,裝置製造商可以使用下列可永久性套件的系統映像檔,將 XML 檔案新增至系統映像檔,藉此提供應用程式的相關中繼資料。
如果是安裝或更新的應用程式,應用程式安裝者應將
PersistableBundle
物件傳遞至setAppMetadata()
方法。
最高級別的可持久化套裝組合包含下列鍵/值組合。 除非另有指定,否則每個鍵皆為選用。
version
(必填)- 應用程式中繼資料格式的版本號碼。使用
2
做為目前版本的值,使用long
做為類型。如果預期的AppMetadata
金鑰或內容類型變更,Android 就會變更版本號碼。 safety_labels
- 用於指定應用程式 safety-labels 的
PersistableBundle
物件。 system_app_safety_label
- 用於指定應用程式 system-app-safety-label 的
PersistableBundle
物件。如果應用程式是系統服務,則會使用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_collected
和 data_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
ID
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_FUNCTIONALITY2
:PURPOSE_ANALYTICS3
:PURPOSE_DEVELOPER_COMMUNICATIONS4
:PURPOSE_FRAUD_PREVENTION_SECURITY5
:PURPOSE_ADVERTISING6
:PURPOSE_PERSONALIZATION7
:PURPOSE_ACCOUNT_MANAGEMENT
is_collection_optional
-
布林值。指明使用者是否能選擇加入或退出資料收集。
附註: 僅針對代表資料收集的
data_category
組合設定此值;請勿設定用於資料共用。 ephemeral
-
布林值。指明應用程式是否只在記憶體 (而非磁碟) 上處理伺服器端資料,且應用程式保留資料的時間不超過特定資料處理要求所需時間。
附註: 僅針對代表資料收集的
data_category
組合設定此值;請勿設定用於資料共用。
資料刪除與加密做法
security_labels
組合包含代表應用程式資料刪除與加密做法的鍵/值組合:
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_0
、developer_1
、developer_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 Mobile Ads (GMA) SDK 的 Google Play SDK 索引網址)。
- 如果開發人員已在其他商店或註冊資料庫註冊,可以提供應用程式商店網址或其他 ID。
- 如果開發人員尚未在任何應用程式商店中註冊,就可以省略這項屬性。
應用程式資訊
app_info
組合包含下列鍵/值組合:
title
(必要)- 聲明應用程式標題的字串。
description
(必要)- 字串,以使用者可理解的英文文字 blob 指出應用程式的用途。
contains_ads
(必要)- 布林值,用來宣告應用程式是否會顯示任何廣告。
privacy_policy
(必要)
- 字串,包含連結至隱私權政策的網址屬性,詳細說明使用者資料的處理方式。
- 如果應用程式會傳輸使用者資料,就必須加入這項設定。
- 如果應用程式未提供此連結,系統會假設應用程式不會處理使用者資料。
category
(必要)包含下列其中一個應用程式類別的字串,最能描述應用程式的主要用途:
- Android (僅適用於 Android 開放原始碼計畫元件)*
- 藝術與設計
- 汽車與交通工具
- 美容
- 圖書與參考資源
- 商家
- 漫畫
- 通訊
- 約會交友
- 教育
- 娛樂
- 事件
- 財經
- 美食和飲料
- 遊戲
- 健康與健身
- 居家生活
- 安裝程式 (僅適用於應用程式商店或其他安裝程式)*
- 媒體庫與試用內容
- 生活互動
- 地圖與導航
- 醫療
- 音樂和音訊
- 新聞與雜誌
- 親子教養
- 個人化體驗
- 拍照攝影
- 效率提升
- 安全性*
- 購物
- 社交
- 體育
- 工具
- 旅遊與地方資訊
- 更新程式 (僅適用於裝置的預設無線 (OTA) 更新應用程式)*
- 影片播放器與編輯器
- 天氣
contact_info
- 包含應用程式聯絡資訊的
PersistableBundle
物件 (詳見下文)。
聯絡資訊
contact_info
組合包含下列鍵/值組合:
email
(必要)- 聲明應用程式電子郵件地址的字串。
website
- 用來聲明應用程式網站的字串。