Skema untuk paket metadata aplikasi

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 PersistableBundle ke Metode setAppMetadata().

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 ini versi saat ini dan long sebagai jenisnya. Jika kunci atau jenis konten yang AppMetadata berubah, Android akan mengubah nomor versi.
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, Paket system_app_safety_label digunakan, bukan paket safety_labels.
transparency_info
Objek PersistableBundle yang 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 1 sebagai nilai untuk ini versi saat ini dan long sebagai jenisnya.
data_labels
Objek PersistableBundle yang menentukan data yang dikumpulkan dan dibagikan aplikasi.
security_labels
Objek PersistableBundle yang menentukan praktik enkripsi dan penghapusan data aplikasi.
third_party_verification
Objek PersistableBundle yang 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 PersistableBundle yang menentukan jenis data yang diperlukan aplikasi pengguna.
data_shared
Objek PersistableBundle yang 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.

  • 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. 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

  • 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)

Himpunan bilangan bulat yang mewakili alasan spesifik untuk mengumpulkan atau berbagi data dan menggunakan PersistableBundle putIntArray . Setidaknya salah satu tujuan yang ditentukan di bawah ini diperlukan untuk setiap paket.

  • 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

Nilai boolean Menentukan apakah pengguna dapat memilih untuk ikut serta atau tidak ikut serta, pengumpulan data.

Catatan: Tetapkan nilai ini hanya untuk data_category paket 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_category paket 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 string sebagai jenisnya.
  • Jika belum diberikan, URL kebijakan privasi harus digunakan sebagai pengganti.
  • 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 aplikasi developer.
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. Tujuan developer_info berisi satu atau beberapa developer_#, dengan # adalah bilangan bulat. Misalnya developer_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_registry yang 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 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.