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 biện pháp đảm bảo an toàn dữ liệu) để sử dụng trong các tính năng của nền tảng Android như dưới dạng lời nhắc Quyền truy cập thông tin vị trí đã 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 ảnh hệ thống với gói bền vững đượ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, ứng dụng trình cài đặt nên chuyển đối tượng
PersistableBundle
vàosetAppMetadata()
.
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. Dùng
2
làm giá trị cho thao tác này phiên bản hiện tại và loại làlong
. Nếu khoá hoặc loại nội dung mong muốn Nếu cóAppMetadata
thay đổi, 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 hoạt động như một dịch vụ hệ thống, Góisystem_app_safety_label
được dùng thay cho góisafety_labels
. transparency_info
- Đối tượng
PersistableBundle
chỉ định thông tin minh bạch 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. 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. 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 hoạt động xoá dữ liệu và mã hoá. 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 đối với ứ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
Loại 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. Chiến lược phát hành đĩa đơn
cho mỗi khoá là một đối tượng PersistableBundle
mô tả
các phương pháp sử dụng dữ liệu của ứng dụng đối với loại 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
PersistableBundle
putIntArray
. Cần 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 người dùng có thể chọn tham gia hay không tham gia, thu thập dữ liệu.
Lưu ý: Chỉ đặt giá trị này cho
data_category
gói đại diện cho hoạt động thu thập dữ liệu; không đặt để chia sẻ dữ liệu. ephemeral
-
Giá trị boolean Chỉ định xem ứng dụng có xử lý dữ liệu hay không phía máy chủ chỉ trong bộ nhớ, không phải trên ổ đĩa và ứng dụng vẫn giữ lại dữ liệu không còn quá mức cần thiết để phục vụ cho quá trình xử lý dữ liệu cụ thể của bạn.
Lưu ý: Chỉ đặt giá trị này cho
data_category
gói đại diện cho hoạt động thu thập dữ liệu; không đặt để 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
phương pháp xoá và mã hoá dữ liệu:
is_data_deletable
- Giá trị boolean Chỉ định xem ứng dụng có cho phép người dùng yêu cầu hay không để ứng dụng xoá dữ liệu người dùng của họ.
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 không được mã hoá trong quá trình truyền dữ liệu.
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 cho
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 của dịch vụ hệ thống
Đối với các ứng dụng hoạt động như một dịch vụ hệ thống, gói system_app_safety_label
được dùng thay cho gói safety_labels
và chứa nội dung sau
cặp khoá/giá trị:
url
(bắt buộc)
- URL trỏ đến một trang có chứa thông tin an toàn cho ứng dụng hoạt động như một dịch vụ hệ thống.
- Sử dụng
string
làm loại. - Nếu URL đó chưa được cung cấp thì URL chính sách quyền riêng tư sẽ được sử dụng làm một 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 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ề ứng dụng nhà phát triển. 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
xác định nhà phát triển. Chiến lược phát hành đĩa đơndeveloper_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 khoá/giá trị sau
cặp:
name
(bắt buộc)- Một chuỗi cho biết 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 cho biết đị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 nêu rõ 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ý trên cửa hàng hoặc sổ đăng ký khác, 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 sử 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 .
- Nếu nhà phát triển chưa đăng ký trên bất kỳ cửa hàng ứng dụng hoặc sổ đăng ký nào, hãy bỏ qua trường 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ý trên cửa hàng hoặc sổ đăng ký khác, giá trị phải là thông tin nhận dạng trong sổ đăng ký hoặc cửa hàng của họ.
- Bạn có thể 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ó 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 Google Mobile Ads (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, tức là một cửa hàng ứng dụng Có thể cung cấp URL hoặc giá trị nhận dạng khác.
- Nếu nhà phát triển chưa đăng ký trên bất kỳ cửa hàng ứng dụng nào, thì thuộc tính này có thể là đã 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 khối văn bản mà con người đọc được bằng tiếng Anh.
contains_ads
(bắt buộc)- Một boolean khai báo liệu ứng dụng có hiển thị quảng cáo hay không.
privacy_policy
(bắt buộc)
- Chuỗi chứa thuộc tính URL liên kết đến chính sách quyền riêng tư thông tin chi tiết về cách Google xử lý dữ liệu người dùng.
- Đây là yêu cầu 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ẽ xem như ứng dụng không xử lý dữ liệu người dùng.
category
(bắt buộc)Một chuỗi chứa một trong các danh mục ứng dụng sau đây mô tả chính xác nhất mục đích chính của ứng dụng:
- Android (chỉ dành cho thành phần AOSP)*
- Nghệ thuật và thiết kế
- Ô tô và xe cộ
- 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
- Maps và tính năng đi theo chỉ dẫn
- 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 mặc định qua mạng không dây (OTA) 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 nêu rõ trang web của ứng dụng.