Mulai Android 14, penginstal paket Android dapat menyerap metadata tentang aplikasi, seperti praktik keamanan data, untuk digunakan dalam fitur platform Android seperti sebagai dialog Izin akses lokasi yang diperbarui.
Ada dua cara untuk memberikan 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 dibuat permanen seperti yang dijelaskan di bawah.
Untuk aplikasi yang diinstal atau diupdate, Untuk menentukan metadata ini, app penginstal harus meneruskan objek
PersistableBundleke 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
2sebagai nilai untuk ini versi saat ini danlongsebagai jenisnya. Jika kunci atau jenis konten yangAppMetadataberubah, Android akan mengubah nomor versi. safety_labels- Objek
PersistableBundleyang menentukan label keamanan aplikasi. system_app_safety_label- Objek
PersistableBundleyang menentukan system-app-safety-label aplikasi. Untuk aplikasi yang bertindak sebagai layanan sistem, Paketsystem_app_safety_labeldigunakan, bukan paketsafety_labels. transparency_info- Objek
PersistableBundleyang menentukan transparansi aplikasi informasi tambahan.
Format label keamanan
Paket safety_labels berisi key-value pair berikut:
version(wajib diisi)- Nomor versi format label keamanan. Gunakan
1sebagai nilai untuk ini versi saat ini danlongsebagai jenisnya. data_labels- Objek
PersistableBundleyang menentukan data yang dikumpulkan dan dibagikan aplikasi. security_labels- Objek
PersistableBundleyang menentukan praktik enkripsi dan penghapusan data aplikasi. third_party_verification- Objek
PersistableBundleyang menentukan cara keamanan data aplikasi praktik tersebut diverifikasi oleh pihak ketiga.
Data yang dikumpulkan dan dibagikan
Paket data_labels berisi key-value pair berikut:
data_collected- Objek
PersistableBundleyang menentukan jenis data yang diperlukan aplikasi pengguna. data_shared- Objek
PersistableBundleyang menentukan jenis data yang diperlukan aplikasi dibagikan.
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.
personalfinanciallocationemail_text_messagephoto_videoaudiostoragehealth_fitnesscontactscalendaridentifiersapp_performanceactions_in_appsearch_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. Tujuan
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
nameemail_addressphysical_addressphone_numberrace_ethnicitypolitical_or_religious_beliefssexual_orientation_or_gender_identitypersonal_identifiersother
Keuangan
card_bank_accountpurchase_historycredit_scoreother
Lokasi
approx_locationprecise_location
Email dan pesan teks
emailstext_messagesother
Foto dan video
photosvideos
Audio
sound_recordingsmusic_filesother
Penyimpanan
files_docs
Kesehatan kebugaran
healthfitness
Kontak
contacts
Kalender
calendar
Pengenal (ID)
other
Performa aplikasi
crash_logsperformance_diagnosticsother
Tindakan dalam aplikasi
user_interactionin_app_search_historyinstalled_appsuser_generated_contentother
Penelusuran dan penjelajahan
web_browsing_history
Penggunaan data
Paket data_usage berisi key-value pair berikut:
purposes(wajib diisi)-
Himpunan bilangan bulat yang mewakili alasan spesifik untuk mengumpulkan atau berbagi data dan menggunakan
PersistableBundleputIntArray. 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 ikut serta, pengumpulan data.
Catatan: Tetapkan nilai ini hanya untuk
data_categorypaket yang mewakili pengumpulan data; jangan setel untuk berbagi data. ephemeral-
Nilai boolean Menentukan apakah aplikasi memproses data hanya sisi server dalam memori, bukan pada disk, dan bahwa aplikasi menyimpan data tidak lebih lama dari yang diperlukan untuk melayani pemrosesan data tertentu permintaan.
Catatan: Tetapkan nilai ini hanya untuk
data_categorypaket yang mewakili pengumpulan data; jangan setel untuk berbagi data.
Praktik enkripsi dan penghapusan data
Paket security_labels berisi key-value pair yang mewakili
praktik enkripsi dan penghapusan data:
is_data_deletable- Nilai boolean. Menentukan apakah aplikasi mengizinkan pengguna untuk meminta atau tidak aplikasi untuk menghapus data pengguna mereka.
is_data_encrypted- Nilai boolean. Menentukan apakah semua data pengguna yang dikumpulkan oleh aplikasi yang terenkripsi saat transit.
Verifikasi pihak ketiga
Paket third_party_verification terdiri dari satu kunci, url. URL ini,
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 sebagai pengganti paket safety_labels dan berisi hal berikut
key-value pair:
url (wajib)
- URL yang mengarah ke halaman yang berisi informasi keamanan untuk aplikasi yang bertindak sebagai layanan sistem.
- Gunakan
stringsebagai jenisnya. - Jika belum diberikan, URL kebijakan privasi harus digunakan sebagai pengganti.
- Catatan: Google Play Store menggunakan
privacy_policysebagai penggantian.
Format info transparansi
Paket transparency_info berisi key-value pair berikut:
developer_info- Objek
PersistableBundleyang menentukan informasi tentang aplikasi developer. app_info- Objek
PersistableBundleyang menentukan informasi tentang aplikasi.
Info developer
Paket developer_info berisi key-value pair berikut:
developer_#- Objek
PersistableBundleyang mengidentifikasi developer. Tujuandeveloper_infoberisi satu atau beberapadeveloper_#, dengan#adalah bilangan bulat. Misalnyadeveloper_0,developer_1,developer_2, dan seterusnya.
Developer
Paket developer_# berisi kunci/nilai berikut
pasangan:
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 toko atau registry developer.
- Jika developer juga terdaftar di toko atau registry lain, nilai harus berupa nama paket Android toko 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 ini .
- Jika developer tidak terdaftar di app store atau registry mana pun, hapus bagian ini .
app_registry_id
- String yang menyatakan ID developer untuk
app_registryyang dinyatakan. - Jika developer juga terdaftar di toko atau registry lain, nilainya harus berupa identitas toko atau registry mereka.
- Beberapa entri untuk beberapa toko diizinkan.
- Untuk developer yang terdaftar di 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 Google Play SDK Index SDK (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 atau ID lainnya dapat diberikan.
- Jika pengembang tidak terdaftar di {i>app store<i} mana pun, atribut ini dapat dihilangkan.
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 akan menampilkan iklan.
privacy_policy (wajib)
- String yang berisi atribut URL yang tertaut ke kebijakan privasi yang merinci bagaimana data pengguna ditangani.
- Diperlukan untuk aplikasi yang mengirimkan data pengguna.
- Jika aplikasi tidak berisi link ini, aplikasi tersebut diasumsikan 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
- Peristiwa
- Keuangan
- Makanan dan minuman
- Game
- Kesehatan dan kebugaran
- Rumah dan rumah
- Penginstal (hanya untuk app store atau penginstal lainnya)*
- Library dan demo
- Gaya Hidup
- Peta dan navigasi
- Kedokteran
- Musik dan audio
- Berita dan majalah
- Mengasuh Anak
- Personalisasi
- Fotografi
- Produktivitas
- Keamanan*
- Belanja
- 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
PersistableBundleyang 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.