Giản đồ cho gói siêu dữ liệu ứng dụng

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ức setAppMetadata().

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ủa AppMetadata 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ói system_app_safety_label sẽ được dùng thay cho gói safety_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_collecteddata_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_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

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ều developer_#, 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.