Kể từ Android 14, trình cài đặt gói Android có thể nhập siêu dữ liệu về một ứng dụng (chẳng hạn như các phương pháp đảm bảo an toàn dữ liệu) để dùng trong các tính năng của nền tảng Android (chẳng hạn như lời nhắc cấp quyền truy cập thông tin vị trí mới cập nhật).
Có hai cách để cung cấp siêu dữ liệu này:
Đối với một ứng dụng được tải trước trên hình ảnh hệ thống, nhà sản xuất thiết bị có thể cung cấp siêu dữ liệu về ứng dụng đó bằng cách thêm tệp XML vào hình ảnh hệ thống với gói ổn định được mô tả dưới đây.
Đối với các ứng dụng đang được cài đặt hoặc cập nhật, Để chỉ định siêu dữ liệu này, trình cài đặt ứng dụng phải truyền một đối tượng
PersistableBundle
vào phương thứcsetAppMetadata()
.
Gói ổn định cấp cao nhất gồm các cặp khoá/giá trị sau đây. Trừ trường hợp có quy định khác, mỗi khoá này đều không bắt buộc.
version
(bắt buộc)- Số phiên bản của định dạng siêu dữ liệu ứng dụng. Sử dụng
2
làm giá trị cho phiên bản hiện tại này vàlong
làm loại dữ liệu. Nếu các khoá hoặc loại nội dung dự kiến củaAppMetadata
thay đổi, thì Android sẽ thay đổi số phiên bản. safety_labels
- Đối tượng
PersistableBundle
chỉ định nhãn an toàn của ứng dụng. system_app_safety_label
- Đối tượng
PersistableBundle
chỉ định system-app-safety-label của ứng dụng. Đối với các ứng dụng đóng vai trò là dịch vụ hệ thống, góisystem_app_safety_label
sẽ được dùng thay cho góisafety_labels
. transparency_info
- Đối tượng
PersistableBundle
chỉ định thông tin về độ trong suốt của ứng dụng.
Định dạng nhãn an toàn
Gói safety_labels
chứa các cặp khoá/giá trị sau:
version
(bắt buộc)- Số phiên bản của định dạng nhãn an toàn. Hãy sử dụng
1
làm giá trị cho phiên bản hiện tại này vàlong
làm loại dữ liệu. data_labels
- Đối tượng
PersistableBundle
chỉ định dữ liệu mà ứng dụng thu thập và chia sẻ. security_labels
- Đối tượng
PersistableBundle
chỉ định phương thức mã hoá và xoá dữ liệu của ứng dụng. third_party_verification
- Đối tượng
PersistableBundle
chỉ định cách bên thứ ba xác minh các biện pháp đảm bảo an toàn dữ liệu của ứng dụng.
Dữ liệu được thu thập và chia sẻ
Gói data_labels
chứa các cặp khoá/giá trị sau:
data_collected
- Đối tượng
PersistableBundle
chỉ định kiểu dữ liệu mà ứng dụng thu thập. data_shared
- Đối tượng
PersistableBundle
chỉ định kiểu dữ liệu mà ứng dụng chia sẻ.
Danh mục dữ liệu
Cả hai khoá data_collected
và data_shared
đều sử dụng định dạng gói data_category
, trong đó có các cặp khoá/giá trị như trong danh sách sau. Mỗi khoá liên kết với một đối tượng PersistableBundle
chỉ định các kiểu dữ liệu cho một danh mục cụ thể.
personal
financial
location
email_text_message
photo_video
audio
storage
health_fitness
contacts
calendar
identifiers
app_performance
actions_in_app
search_and_browsing
Kiểu dữ liệu
Mỗi khoá trong gói data_category
liên kết với một gói khác sử dụng định dạng data_type
. Các khoá mà bạn chỉ định ở định dạng data_type
phụ thuộc vào nội dung bạn chọn cho data_category
.
Cặp khoá/giá trị data_type
có thể xuất hiện trong các danh sách sau. Giá trị cho mỗi khoá này là một đối tượng PersistableBundle
mô tả các phương thức sử dụng dữ liệu của ứng dụng đối với kiểu dữ liệu cụ thể đó. Một số kiểu dữ liệu chỉ sử dụng một khoá.
Cá nhân
name
email_address
physical_address
phone_number
race_ethnicity
political_or_religious_beliefs
sexual_orientation_or_gender_identity
personal_identifiers
other
Tài chính
card_bank_account
purchase_history
credit_score
other
Vị trí
approx_location
precise_location
Email và tin nhắn văn bản
emails
text_messages
other
Ảnh và video
photos
videos
Âm thanh
sound_recordings
music_files
other
Bộ nhớ
files_docs
Sức khoẻ/Thể dục
health
fitness
Danh bạ
contacts
Lịch
calendar
Giá trị nhận dạng
other
Hiệu suất của ứng dụng
crash_logs
performance_diagnostics
other
Thao tác trong ứng dụng
user_interaction
in_app_search_history
installed_apps
user_generated_content
other
Tìm kiếm và duyệt web
web_browsing_history
Sử dụng dữ liệu
Gói data_usage
chứa các cặp khoá/giá trị sau:
purposes
(bắt buộc)-
Một mảng số nguyên thể hiện những lý do cụ thể cho việc thu thập hoặc chia sẻ dữ liệu và sử dụng phương thức
PersistableBundle
putIntArray
. Bạn phải có ít nhất một trong các mục đích được xác định bên dưới cho mỗi gói.1
: PURPOSE_APP_FUNCTIONALITY2
: PURPOSE_ANALYTICS3
: PURPOSE_DEVELOPER_COMMUNICATIONS4
: PURPOSE_FRAUD_PREVENTION_SECURITY5
: PURPOSE_ADVERTISING6
: PURPOSE_PERSONALIZATION7
: PURPOSE_ACCOUNT_MANAGEMENT
is_collection_optional
-
Giá trị boolean Chỉ định xem liệu người dùng có thể chọn tham gia hay không chọn tham gia thu thập dữ liệu.
Lưu ý: Chỉ thiết lập giá trị này cho các gói
data_category
đại diện cho hoạt động thu thập dữ liệu; đừng thiết lập giá trị này cho hoạt động chia sẻ dữ liệu. ephemeral
-
Giá trị boolean Chỉ định việc ứng dụng chỉ xử lý phía máy chủ dữ liệu trong bộ nhớ, không xử lý trên ổ đĩa, và ứng dụng chỉ giữ lại dữ liệu trong thời gian cần thiết để đáp ứng yêu cầu xử lý dữ liệu cụ thể.
Lưu ý: Chỉ thiết lập giá trị này cho các gói
data_category
đại diện cho hoạt động thu thập dữ liệu; đừng thiết lập giá trị này cho hoạt động chia sẻ dữ liệu.
Phương pháp xoá và mã hoá dữ liệu
Gói security_labels
chứa các cặp khoá/giá trị đại diện cho các phương thức xoá và mã hoá dữ liệu của ứng dụng:
is_data_deletable
- Giá trị boolean Chỉ định liệu ứng dụng có cho phép người dùng yêu cầu ứng dụng xoá dữ liệu người dùng của họ hay không.
is_data_encrypted
- Giá trị boolean Chỉ định xem có phải tất cả dữ liệu người dùng mà ứng dụng thu thập đều được mã hoá trong quá trình chuyển dữ liệu hay không.
Xác minh của bên thứ ba
Gói third_party_verification
bao gồm một khoá duy nhất là url
. URL này (được biểu thị dưới dạng giá trị chuỗi) chỉ định trang web của bên thứ ba dùng để xác minh thông tin an toàn dữ liệu của ứng dụng.
Định dạng nhãn an toàn cho dịch vụ hệ thống
Đối với các ứng dụng đóng vai trò là dịch vụ hệ thống, gói system_app_safety_label
sẽ được dùng thay cho gói safety_labels
và chứa các cặp khoá/giá trị sau:
url
(bắt buộc)
- URL trỏ đến một trang chứa thông tin an toàn cho ứng dụng đang hoạt động như một dịch vụ hệ thống.
- Sử dụng loại
string
. - Nếu chưa cung cấp URL này, thì bạn nên sử dụng URL chính sách quyền riêng tư làm dự phòng.
- Lưu ý: Cửa hàng Google Play sử dụng
privacy_policy
làm phương án dự phòng.
Định dạng của thông tin về tính minh bạch
Gói transparency_info
chứa các cặp khoá/giá trị sau:
developer_info
- Đối tượng
PersistableBundle
chỉ định thông tin về nhà phát triển ứng dụng. app_info
- Đối tượng
PersistableBundle
chỉ định thông tin về ứng dụng.
Thông tin của nhà phát triển
Gói developer_info
chứa các cặp khoá/giá trị sau:
developer_#
- Đối tượng
PersistableBundle
giúp xác định nhà phát triển.developer_info
chứa một hoặc nhiềudeveloper_#
, trong đó#
là một số nguyên. Ví dụ:developer_0
,developer_1
,developer_2
, v.v.
Nhà phát triển
Gói developer_#
chứa các cặp khoá/giá trị sau:
name
(bắt buộc)- Một chuỗi nêu rõ tên của nhà phát triển.
email
(bắt buộc)- Một chuỗi cho biết địa chỉ email của nhà phát triển.
address
(bắt buộc)- Một chuỗi nêu rõ địa chỉ gửi thư của nhà phát triển.
country_region
(bắt buộc)- Một chuỗi cho biết quốc gia hoặc khu vực của nhà phát triển.
website
- Một chuỗi cho biết trang web của nhà phát triển.
app_registry
- Một chuỗi cho biết cửa hàng hoặc sổ đăng ký của nhà phát triển.
- Nếu nhà phát triển cũng được đăng ký trong một cửa hàng hoặc sổ đăng ký khác, thì giá trị phải là tên gói Android của cửa hàng hoặc URL của sổ đăng ký.
- Bạn được phép nhập nhiều mục cho nhiều cửa hàng.
- Đối với Google Play, hãy dùng
com.android.vending
. - Nếu nhà phát triển là một SDK có trong Chỉ mục SDK của Google Play, hãy bỏ qua thuộc tính này.
- Nếu nhà phát triển chưa đăng ký bất kỳ cửa hàng ứng dụng hoặc sổ đăng ký nào, hãy bỏ qua thuộc tính này.
app_registry_id
- Một chuỗi cho biết mã nhận dạng của nhà phát triển cho
app_registry
đã nêu. - Nếu nhà phát triển cũng được đăng ký trong một cửa hàng hoặc sổ đăng ký khác, thì giá trị phải là thông tin nhận dạng trong cửa hàng hoặc sổ đăng ký của họ.
- Bạn được phép nhập nhiều mục cho nhiều cửa hàng.
- Đối với các nhà phát triển đã đăng ký với Google Play, giá trị này phải là URL của trang dành cho nhà phát triển (ví dụ: https://play.google.com/store/apps/dev?id=5700313618786177705 là URL dành cho nhà phát triển Google LLC).
- Nếu nhà phát triển là nhà phát triển SDK có tên trong Chỉ mục SDK của Google Play, hãy sử dụng URL Chỉ mục SDK của Google Play của SDK (ví dụ: https://play.google.com/sdks/details/com-google-android-gms-play-services-ads là URL Chỉ mục SDK của Google Play của SDK quảng cáo trên thiết bị di động của Google (GMA).
- Nếu nhà phát triển đã đăng ký trên một cửa hàng hoặc sổ đăng ký khác, thì bạn có thể cung cấp URL cửa hàng ứng dụng hoặc giá trị nhận dạng khác.
- Nếu nhà phát triển chưa đăng ký thuộc tính này trên bất kỳ cửa hàng ứng dụng nào, thì thuộc tính này có thể bị bỏ qua.
Thông tin ứng dụng
Gói app_info
chứa các cặp khoá/giá trị sau:
title
(bắt buộc)- Một chuỗi cho biết tiêu đề của ứng dụng.
description
(bắt buộc)- Một chuỗi nêu rõ mục đích của ứng dụng trong một blob văn bản mà con người có thể đọc được bằng tiếng Anh.
contains_ads
(bắt buộc)- Một giá trị boolean khai báo liệu ứng dụng có hiển thị quảng cáo nào hay không.
privacy_policy
(bắt buộc)
- Một chuỗi chứa thuộc tính URL liên kết đến chính sách quyền riêng tư nêu chi tiết cách dữ liệu người dùng được xử lý.
- Bắt buộc đối với các ứng dụng truyền dữ liệu người dùng.
- Nếu ứng dụng không chứa đường liên kết này, thì hệ thống sẽ giả định rằng ứng dụng không xử lý dữ liệu người dùng.
category
(bắt buộc)Một chuỗi mô tả đúng nhất mục đích chính của ứng dụng sau đây chứa một trong các danh mục ứng dụng sau đây:
- Android (chỉ dành cho thành phần AOSP)*
- Nghệ thuật và thiết kế
- Ô tô và phương tiện di chuyển
- Sản phẩm làm đẹp
- Sách và tài liệu tham khảo
- Doanh nghiệp
- Truyện tranh
- Giao tiếp
- Hẹn hò
- Giáo dục
- Giải trí
- Sự kiện
- Tài chính
- Đồ ăn và đồ uống
- Trò chơi
- Sức khoẻ và thể chất
- Nhà cửa
- Trình cài đặt (chỉ dành cho cửa hàng ứng dụng hoặc trình cài đặt khác)*
- Thư viện và bản minh họa
- Lối sống
- Bản đồ và chỉ đường
- Y tế
- Nhạc và âm thanh
- Tin tức và tạp chí
- Nuôi dạy con
- Cá nhân hoá
- Nhiếp ảnh
- Năng suất
- Bảo mật*
- Mua sắm
- Mạng xã hội
- Thể thao
- Công cụ
- Du lịch và địa phương
- Trình cập nhật (chỉ dành cho ứng dụng cập nhật qua mạng không dây (OTA) mặc định của thiết bị)*
- Trình phát và chỉnh sửa video
- Thời tiết
contact_info
- Đối tượng
PersistableBundle
bao gồm thông tin liên hệ của ứng dụng (ở bên dưới).
Thông tin liên hệ
Gói contact_info
chứa các cặp khoá/giá trị sau:
email
(bắt buộc)- Một chuỗi cho biết địa chỉ email của ứng dụng.
website
- Một chuỗi cho biết trang web của ứng dụng.