Mulai Android 14, penginstal paket Android dapat menyerap metadata tentang aplikasi, seperti praktik keamanan data, untuk digunakan dalam fitur platform Android seperti prompt Izin akses lokasi yang diperbarui.
Ada dua cara untuk menyediakan metadata ini:
Untuk aplikasi yang dimuat sebelumnya di image sistem, produsen perangkat dapat menyediakan metadata tentang aplikasi dengan menambahkan file XML ke image sistem dengan paket yang dapat dipertahankan seperti yang dijelaskan di bawah ini.
Untuk aplikasi yang diinstal atau diupdate, Untuk menentukan metadata ini, penginstal aplikasi harus meneruskan objek
PersistableBundle
ke dalam metodesetAppMetadata()
.
Paket tingkat atas yang dapat dibuat permanen terdiri dari key-value pair berikut. Kecuali jika ditentukan sebaliknya, setiap kunci bersifat opsional.
version
(wajib diisi)- Nomor versi format metadata aplikasi. Gunakan
2
sebagai nilai untuk versi saat ini danlong
sebagai jenis. Jika kunci atau jenis kontenAppMetadata
yang diharapkan berubah, Android akan mengubah nomor versinya. safety_labels
- Objek
PersistableBundle
yang menentukan label-keamanan aplikasi. system_app_safety_label
- Objek
PersistableBundle
yang menentukan system-app-safety-label aplikasi. Untuk aplikasi yang bertindak sebagai layanan sistem, paketsystem_app_safety_label
digunakan, bukan paketsafety_labels
. transparency_info
- Objek
PersistableBundle
yang menentukan informasi transparansi aplikasi.
Format label keamanan
Paket safety_labels
berisi key-value pair berikut:
version
(wajib diisi)- Nomor versi format label keamanan. Gunakan
1
sebagai nilai untuk versi saat ini danlong
sebagai jenis. data_labels
- Objek
PersistableBundle
yang menentukan data yang dikumpulkan dan dibagikan oleh aplikasi. security_labels
- Objek
PersistableBundle
yang menentukan praktik enkripsi dan penghapusan data aplikasi. third_party_verification
- Objek
PersistableBundle
yang menentukan cara praktik keamanan data aplikasi diverifikasi oleh pihak ketiga.
Data yang dikumpulkan dan dibagikan
Paket data_labels
berisi key-value pair berikut:
data_collected
- Objek
PersistableBundle
yang menentukan jenis data yang dikumpulkan aplikasi. data_shared
- Objek
PersistableBundle
yang menentukan jenis data yang dibagikan aplikasi.
Kategori data
Baik kunci data_collected
maupun data_shared
menggunakan format paket
data_category
yang berisi key-value pair yang ditampilkan dalam daftar berikut. Setiap kunci
dipetakan ke objek PersistableBundle
yang menentukan jenis data untuk
kategori tertentu.
personal
financial
location
email_text_message
photo_video
audio
storage
health_fitness
contacts
calendar
identifiers
app_performance
actions_in_app
search_and_browsing
Jenis data
Setiap kunci dalam paket data_category
dipetakan ke paket lain yang menggunakan
format data_type
. Kunci yang Anda tentukan dalam format data_type
bergantung
pada kunci yang Anda pilih untuk data_category
.
Key-value pair data_type
yang mungkin terjadi muncul dalam daftar berikut. Nilai
untuk setiap kunci ini adalah objek PersistableBundle
yang menjelaskan
praktik penggunaan data aplikasi untuk jenis data tertentu tersebut. Beberapa jenis data
hanya menggunakan satu kunci.
Pribadi
name
email_address
physical_address
phone_number
race_ethnicity
political_or_religious_beliefs
sexual_orientation_or_gender_identity
personal_identifiers
other
Keuangan
card_bank_account
purchase_history
credit_score
other
Lokasi
approx_location
precise_location
Email dan pesan teks
emails
text_messages
other
Foto dan video
photos
videos
Audio
sound_recordings
music_files
other
Penyimpanan
files_docs
Kesehatan kebugaran
health
fitness
Kontak
contacts
Kalender
calendar
Pengenal (ID)
other
Performa aplikasi
crash_logs
performance_diagnostics
other
Tindakan dalam aplikasi
user_interaction
in_app_search_history
installed_apps
user_generated_content
other
Penelusuran dan penjelajahan
web_browsing_history
Penggunaan data
Paket data_usage
berisi key-value pair berikut:
purposes
(wajib diisi)-
Array bilangan bulat yang mewakili alasan spesifik untuk mengumpulkan atau berbagi data dan menggunakan metode
PersistableBundle
putIntArray
. Setidaknya salah satu tujuan yang ditentukan di bawah ini diperlukan untuk setiap paket.1
: PURPOSE_APP_FUNCTIONALITY2
: PURPOSE_ANALYTICS3
: PURPOSE_DEVELOPER_COMMUNICATIONS4
: PURPOSE_FRAUD_PREVENTION_SECURITY5
: PURPOSE_ADVERTISING6
: PURPOSE_PERSONALIZATION7
: PURPOSE_ACCOUNT_MANAGEMENT
is_collection_optional
-
Nilai boolean Menentukan apakah pengguna dapat memilih untuk ikut serta atau tidak dalam pengumpulan data.
Catatan: Tetapkan nilai ini hanya untuk paket
data_category
yang mewakili pengumpulan data; jangan menetapkannya untuk berbagi data. ephemeral
-
Nilai boolean Menentukan apakah aplikasi memproses sisi server data hanya dalam memori, bukan pada disk, dan bahwa aplikasi menyimpan data tidak lebih lama dari yang diperlukan untuk melayani permintaan pemrosesan data tertentu.
Catatan: Tetapkan nilai ini hanya untuk paket
data_category
yang mewakili pengumpulan data; jangan menetapkannya untuk berbagi data.
Praktik enkripsi dan penghapusan data
Paket security_labels
berisi key-value pair yang mewakili
praktik enkripsi dan penghapusan data aplikasi:
is_data_deletable
- Nilai boolean. Menentukan apakah aplikasi mengizinkan pengguna untuk meminta aplikasi menghapus data pengguna atau tidak.
is_data_encrypted
- Nilai boolean. Menentukan apakah semua data pengguna yang dikumpulkan oleh aplikasi dienkripsi saat dalam pengiriman.
Verifikasi pihak ketiga
Paket third_party_verification
terdiri dari satu kunci, url
. URL ini,
yang diwakili sebagai nilai string, menentukan situs pihak ketiga yang digunakan untuk
memverifikasi informasi keamanan data aplikasi.
Format label keamanan layanan sistem
Untuk aplikasi yang bertindak sebagai layanan sistem, paket system_app_safety_label
digunakan, bukan paket safety_labels
, dan berisi
key/value pair berikut:
url
(wajib)
- URL yang mengarah ke halaman yang berisi informasi keamanan untuk aplikasi yang bertindak sebagai layanan sistem.
- Gunakan
string
sebagai jenis. - Jika belum diberikan, URL kebijakan privasi harus digunakan sebagai penggantian.
- Catatan: Google Play Store menggunakan
privacy_policy
sebagai penggantian.
Format info transparansi
Paket transparency_info
berisi key-value pair berikut:
developer_info
- Objek
PersistableBundle
yang menentukan informasi tentang developer aplikasi. app_info
- Objek
PersistableBundle
yang menentukan informasi tentang aplikasi.
Info developer
Paket developer_info
berisi key-value pair berikut:
developer_#
- Objek
PersistableBundle
yang mengidentifikasi developer.developer_info
berisi satu atau beberapadeveloper_#
, dengan#
adalah bilangan bulat. Misalnyadeveloper_0
,developer_1
,developer_2
, dan seterusnya.
Developer
Paket developer_#
berisi key-value pair berikut:
name
(wajib)- String yang menyatakan nama developer.
email
(wajib)- String yang menyatakan alamat email developer.
address
(wajib)- String yang menyatakan alamat surat developer.
country_region
(wajib)- String yang menyatakan negara atau wilayah developer.
website
- String yang menyatakan situs developer.
app_registry
- String yang menyatakan penyimpanan atau registry developer.
- Jika developer juga terdaftar di app store atau registry lainnya, nilainya harus berupa nama paket Android app store atau URL registry.
- Beberapa entri untuk beberapa toko diizinkan.
- Untuk Google Play, gunakan
com.android.vending
. - Jika developer adalah SDK yang tercantum dalam Google Play SDK Index, hapus atribut ini.
- Jika developer tidak terdaftar di app store atau registry apa pun, hapus atribut ini.
app_registry_id
- String yang menyatakan ID developer untuk
app_registry
yang dinyatakan. - Jika developer juga terdaftar di toko atau registry lainnya, nilainya harus berupa identitas toko atau registry mereka.
- Beberapa entri untuk beberapa toko diizinkan.
- Untuk developer yang terdaftar dengan Google Play, nilai ini harus berupa URL halaman developer (misalnya, https://play.google.com/store/apps/dev?id=5700313618786177705 adalah URL untuk developer Google LLC).
- Jika developer adalah developer SDK yang tercantum di Google Play SDK Index, gunakan URL Indeks Google Play SDK untuk SDK tersebut (misalnya, https://play.google.com/sdks/details/com-google-android-gms-play-services-ads adalah URL Google Play SDK Index dari Google Mobile Ads (GMA) SDK).
- Jika developer terdaftar di app store atau registry lain, URL app store atau ID lain dapat diberikan.
- Jika developer tidak terdaftar di app store apa pun, atribut ini dapat dihapus.
Info aplikasi
Paket app_info
berisi key-value pair berikut:
title
(wajib)- String yang menyatakan judul aplikasi.
description
(wajib)- String yang menyatakan tujuan aplikasi dalam blob teks yang dapat dibaca manusia dalam bahasa Inggris.
contains_ads
(wajib)- Boolean yang mendeklarasikan apakah aplikasi menampilkan iklan atau tidak.
privacy_policy
(wajib)
- String yang berisi atribut URL yang ditautkan ke kebijakan privasi yang menjelaskan cara penanganan data pengguna.
- Diperlukan untuk aplikasi yang mengirimkan data pengguna.
- Jika aplikasi tidak berisi link ini, aplikasi dianggap tidak menangani data pengguna.
category
(wajib)String yang berisi salah satu kategori aplikasi berikut yang paling menjelaskan tujuan utama aplikasi:
- Android (hanya untuk komponen AOSP)*
- Seni dan desain
- Mobil dan kendaraan
- Kecantikan
- Buku dan referensi
- Bisnis
- Komik
- Komunikasi
- Kencan
- Pendidikan
- Hiburan
- Acara
- Keuangan
- Makanan dan minuman
- Game
- Kesehatan dan kebugaran
- Griya dan rumah
- Penginstal (hanya untuk app store atau penginstal lainnya)*
- Library dan demo
- Gaya Hidup
- Peta dan navigasi
- Medis
- Musik dan audio
- Berita dan majalah
- Mengasuh Anak
- Personalisasi
- Fotografi
- Produktivitas
- Keamanan*
- Shopping
- Sosial
- Olahraga
- Alat
- Wisata dan lokal
- Updater (hanya untuk aplikasi update over the air (OTA) default perangkat)*
- Editor dan pemutar video
- Cuaca
contact_info
- Objek
PersistableBundle
yang menyertakan informasi kontak untuk aplikasi (di bawah).
Info kontak
Paket contact_info
berisi key-value pair berikut:
email
(wajib)- String yang menyatakan alamat email untuk aplikasi.
website
- String yang menyatakan situs untuk aplikasi.