A partire da Android 14, il programma di installazione del pacchetto Android può importare i metadati di un'app, ad esempio le pratiche di sicurezza dei dati, per utilizzarli nelle funzionalità della piattaforma Android, come la richiesta di autorizzazione di accesso alla posizione aggiornata.
Esistono due modi per fornire questi metadati:
Per un'app precaricata nell'immagine di sistema, i produttori di dispositivi possono fornire i metadati dell'app aggiungendo un file XML all'immagine di sistema con il bundle persistente descritto di seguito.
Per le app da installare o aggiornare, Per specificare questi metadati, app di installazione devono passare un oggetto
PersistableBundlealsetAppMetadata().
Il bundle permanente di primo livello è costituito dalle seguenti coppie chiave/valore. Se non diversamente specificato, ogni chiave è facoltativa.
version(campo obbligatorio)- Il numero di versione del formato dei metadati dell'app. Utilizza
2come valore per questa versione corrente elongcome tipo. Se le chiavi o i tipi di contenuti previstiAppMetadatamodifica, Android modificherà il numero di versione. safety_labels- Un oggetto
PersistableBundleche specifica le etichette di sicurezza dell'app. system_app_safety_label- Un oggetto
PersistableBundleche specifica etichetta-sicurezza-di-sistema-app. Per le app che agiscono come servizio di sistema, viene utilizzato il bundlesystem_app_safety_labelanziché il bundlesafety_labels. transparency_info- Un oggetto
PersistableBundleche specifica la trasparenza dell'app informazioni.
Formato delle etichette di sicurezza
Il bundle safety_labels contiene le seguenti coppie chiave/valore:
version(campo obbligatorio)- Il numero di versione del formato delle etichette di sicurezza. Usa
1come valore versione corrente elongcome tipo. data_labels- Un oggetto
PersistableBundleche specifica i dati raccolti e condivisi dall'app. security_labels- Un oggetto
PersistableBundleche specifica l'eliminazione e l'eliminazione dei dati dell'app di crittografia. third_party_verification- Un oggetto
PersistableBundleche specifica la modalità di sicurezza dei dati dell'app di pratiche sono verificate da una terza parte.
Dati raccolti e condivisi
Il bundle data_labels contiene le seguenti coppie chiave/valore:
data_collected- Un oggetto
PersistableBundleche specifica i tipi di dati utilizzati dall'app raccolte. data_shared- Un oggetto
PersistableBundleche specifica i tipi di dati condivisi dall'app.
Categorie di dati
Sia le chiavi data_collected che data_shared utilizzano il formato del bundle data_category, che contiene le coppie chiave/valore mostrate nell'elenco seguente. Ogni chiave viene associata a un oggetto PersistableBundle che specifica i tipi di dati per una determinata categoria.
personalfinanciallocationemail_text_messagephoto_videoaudiostoragehealth_fitnesscontactscalendaridentifiersapp_performanceactions_in_appsearch_and_browsing
Tipi di dati
Ogni chiave nel bundle data_category è mappata a un bundle diverso che utilizza il valore
data_type. Le chiavi specificate nel formato data_type dipendono da ciò che scegli per un data_category.
Le possibili coppie chiave/valore data_type vengono visualizzate nei seguenti elenchi. La
di queste chiavi è un oggetto PersistableBundle che descrive
pratiche di utilizzo dei dati dell'app per quel particolare tipo di dati. Alcuni tipi di dati
usare una sola chiave.
Personali
nameemail_addressphysical_addressphone_numberrace_ethnicitypolitical_or_religious_beliefssexual_orientation_or_gender_identitypersonal_identifiersother
Servizi finanziari
card_bank_accountpurchase_historycredit_scoreother
Posizione
approx_locationprecise_location
Email e SMS
emailstext_messagesother
Foto e video
photosvideos
Audio
sound_recordingsmusic_filesother
Spazio di archiviazione
files_docs
Salute e fitness
healthfitness
Contatti
contacts
Calendario
calendar
Identificatori
other
Rendimento app
crash_logsperformance_diagnosticsother
Azioni nell'app
user_interactionin_app_search_historyinstalled_appsuser_generated_contentother
Ricerca e navigazione
web_browsing_history
Utilizzo dei dati
Il bundle data_usage contiene le seguenti coppie chiave/valore:
purposes(obbligatorio)-
Un array di numeri interi che rappresenta motivi specifici per la raccolta o la condivide i dati e utilizza
PersistableBundleputIntArray. Per ogni bundle è obbligatorio almeno uno degli scopi definiti di seguito.1: PURPOSE_APP_FUNCTIONALITY2: PURPOSE_ANALYTICS3: PURPOSE_DEVELOPER_COMMUNICATIONS4: PURPOSE_FRAUD_PREVENTION_SECURITY5: SCOPO_ADVERTISING6: SCOPO_PERSONALIZZAZIONE7: PURPOSE_ACCOUNT_MANAGEMENT
is_collection_optional-
Valore booleano. Specifica se gli utenti possono attivare o disattivare raccolta dei dati.
Nota: imposta questo valore solo per i
data_categorybundle che rappresentano la raccolta dei dati; non impostarlo per la condivisione dei dati. ephemeral-
Valore booleano. Specifica se l'app elabora i dati solo lato server in memoria, non su disco, e che l'app conservi i dati non più del necessario per elaborare i dati specifici richiesta.
Nota: imposta questo valore solo per
data_categorybundle che rappresentano la raccolta di dati. non impostare per la condivisione dei dati.
Pratiche di eliminazione e crittografia dei dati
Il bundle security_labels contiene coppie chiave/valore che rappresentano il
pratiche di eliminazione e crittografia dei dati:
is_data_deletable- Valore booleano. Specifica se l'app consente o meno all'utente di richiedere all'app per eliminare i propri dati utente.
is_data_encrypted- Valore booleano. Specifica se tutti i dati utente raccolti dall'app vengono criptato in transito.
Verifica di terze parti
Il bundle third_party_verification è composto da una singola chiave, url. Questo URL,
rappresentato come un valore stringa, specifica il sito web di terze parti utilizzato
verificare le informazioni di sicurezza dei dati dell'app.
Formato delle etichette di sicurezza del servizio di sistema
Per le app che agiscono come servizio di sistema, viene utilizzato il bundle system_app_safety_label anziché il bundle safety_labels e contiene le seguenti coppie chiave/valore:
url (obbligatorio)
- URL che indirizza a una pagina contenente informazioni sulla sicurezza dell'app che fungendo da servizio di sistema.
- Usa
stringcome tipo. - Se non è stato fornito, l'URL delle norme sulla privacy deve essere utilizzato come di riserva.
- Nota: il Google Play Store utilizza
privacy_policycome alternativa.
Formato delle informazioni sulla trasparenza
Il bundle transparency_info contiene le seguenti coppie chiave/valore:
developer_info- Un oggetto
PersistableBundleche specifica le informazioni sull'app sviluppatore. app_info- Un oggetto
PersistableBundleche specifica le informazioni sull'app.
Informazioni sviluppatore
Il bundle developer_info contiene le seguenti coppie chiave/valore:
developer_#- Un oggetto
PersistableBundleche identifica lo sviluppatore.developer_infocontiene uno o piùdeveloper_#, dove#è un numero intero. Ad esempiodeveloper_0,developer_1,developer_2e così via.
Sviluppatore
Il bundle developer_# contiene la seguente chiave/valore
coppie:
name(obbligatorio)- Una stringa che indica il nome dello sviluppatore.
email(obbligatorio)- Una stringa che indica l'indirizzo email dello sviluppatore.
address(obbligatorio)- Una stringa che indica l'indirizzo postale dello sviluppatore.
country_region(obbligatorio)- Una stringa che indica il paese o la regione dello sviluppatore.
website- Una stringa che indica il sito web dello sviluppatore.
app_registry
- Una stringa che indica l'archivio o il registro dello sviluppatore.
- Se lo sviluppatore è registrato anche in uno store o in un altro registry, il valore Deve essere il nome del pacchetto Android dello store o l'URL del registro.
- Sono consentite più voci per più negozi.
- Per Google Play, usa
com.android.vending. - Se lo sviluppatore è un SDK elencato in Google Play SDK Index, ometti questo .
- Se uno sviluppatore non è registrato in alcun app store o registro, ometti questo .
app_registry_id
- Una stringa che indica l'ID dello sviluppatore per il valore
app_registryindicato. - Se lo sviluppatore è registrato anche in uno store o in un altro registry, il valore dovrebbe essere la propria identità di archiviazione o registry.
- Sono consentite più voci per più negozi.
- Per gli sviluppatori registrati su Google Play, questo valore deve essere l'URL della pagina sviluppatore (ad esempio, https://play.google.com/store/apps/dev?id=5700313618786177705 è la URL per lo sviluppatore Google LLC).
- Se lo sviluppatore è uno sviluppatore di SDK elencato in Google Play SDK Index, usa l'URL di Google Play SDK Index dell'SDK (ad esempio, https://play.google.com/sdks/details/com-google-android-gms-play-services-ads è l'URL di Google Play SDK Index dell'SDK Google Mobile Ads (GMA).
- Se lo sviluppatore è registrato su un altro store o registro, uno store È possibile fornire l'URL o un altro identificatore.
- Se uno sviluppatore non è registrato in alcun app store, questo attributo può essere omesso.
Informazioni app
Il bundle app_info contiene le seguenti coppie chiave/valore:
title(obbligatorio)- Una stringa che indica il titolo dell'app.
description(obbligatorio)- Una stringa che indica lo scopo dell'app in un testo in formato leggibile in inglese.
contains_ads(obbligatorio)- Un valore booleano che dichiara se l'app mostra annunci.
privacy_policy (obbligatorio)
- Una stringa contenente un attributo URL che rimanda alle norme sulla privacy che descrivono come vengono gestiti i dati utente.
- Obbligatorio per le app che trasmettono dati utente.
- Se l'app non contiene questo link, si presume che non contenga gestire i dati utente.
category(obbligatorio)Una stringa contenente una delle seguenti categorie di app migliori descrivono lo scopo principale dell'app:
- Android (solo per un componente AOSP)*
- Arte e design
- Auto e veicoli
- Bellezza
- Libri e consultazione
- Attività commerciale
- Fumetti
- Comunicazioni
- Incontri
- Istruzione
- Intrattenimento
- Eventi
- Finanza
- Cibo e bevande
- Gioco
- Salute e fitness
- Casa
- Programma di installazione (solo per uno store o altri utenti che hanno eseguito l'installazione)*
- Librerie e demo
- Stile di vita
- Mappe e navigatore
- Medicina
- Musica e audio
- Notizie e riviste
- Educazione dei figli
- Personalizzazione
- Fotografia
- Produttività
- Sicurezza*
- Shopping
- Social
- Sport
- Strumenti
- Viaggi e informazioni locali
- Updater (solo per l'app di aggiornamento over-the-air (OTA) predefinita del dispositivo)*
- Editor video e video player
- Meteo
contact_info- Un oggetto
PersistableBundleche include dati di contatto per il dell'app (sotto).
Dati di contatto
Il bundle contact_info contiene le seguenti coppie chiave/valore:
email(obbligatorio)- Una stringa che indica l'indirizzo email dell'app.
website- Una stringa che indica il sito web dell'app.