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 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 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 versi saat ini dan long sebagai jenis. Jika kunci atau jenis konten AppMetadata 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, paket system_app_safety_label digunakan, bukan paket safety_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 dan long 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_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 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 beberapa developer_#, dengan # adalah bilangan bulat. Misalnya developer_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.