A partir de Android 14, el instalador del paquete de Android puede transferir metadatos sobre una app, como las prácticas de seguridad de los datos, para su uso en funciones de la plataforma de Android, como como la solicitud actualizada del permiso de ubicación.
Existen dos maneras de proporcionar estos metadatos:
En el caso de una app precargada en la imagen del sistema, los fabricantes de dispositivos pueden proporcionar metadatos sobre la app agregando un archivo XML a la imagen del sistema con el paquete persistente que se describe a continuación.
Para las apps que se instalan o actualizan, para especificar estos metadatos, los instaladores de apps deben pasar un objeto
PersistableBundleal métodosetAppMetadata().
El paquete persistente de nivel superior consta de los pares clave-valor que se mencionan más abajo. A menos que se especifique lo contrario, cada clave es opcional.
version(obligatorio)- El número de versión del formato de metadatos de la app. Usa
2como valor para esto. versión actual ylongcomo el tipo. Si se esperan claves o tipos de contenido deAppMetadatacambiará, Android cambiará el número de versión. safety_labels- Un objeto
PersistableBundleque especifica las etiquetas de seguridad de la app. system_app_safety_label- Un objeto
PersistableBundleque especifica la propiedad system-app-safety-label. En el caso de las apps que actúan como un servicio del sistema, se usa el paquetesystem_app_safety_labelen lugar del paquetesafety_labels. transparency_info- Un objeto
PersistableBundleque especifica la transparencia de la app información.
Formato de las etiquetas de seguridad
El paquete safety_labels contiene los siguientes pares clave-valor:
version(obligatorio)- El número de versión del formato de las etiquetas de seguridad. Usa
1como valor para esto. versión actual ylongcomo el tipo. data_labels- Un objeto
PersistableBundleque especifica los datos que recopila y comparte la app. security_labels- Un objeto
PersistableBundleque especifica las prácticas de eliminación y encriptación de datos de la app. third_party_verification- Un objeto
PersistableBundleque especifica cómo se ve la seguridad de los datos las prácticas están verificadas por terceros.
Datos recopilados y compartidos
El paquete data_labels contiene los siguientes pares clave-valor:
data_collected- Un objeto
PersistableBundleque especifica los tipos de datos que la app recopila. data_shared- Un objeto
PersistableBundleque especifica los tipos de datos que la app comparte.
Categorías de datos
Las claves data_collected y data_shared usan el formato de paquete data_category, que contiene los pares clave-valor que se muestran en la siguiente lista. Cada clave se asigna a un objeto PersistableBundle que especifica los tipos de datos para una categoría en particular.
personalfinanciallocationemail_text_messagephoto_videoaudiostoragehealth_fitnesscontactscalendaridentifiersapp_performanceactions_in_appsearch_and_browsing
Tipos de datos
Cada clave en el paquete data_category se asigna a un paquete diferente que usa el formato data_type. Las claves que especificas en el formato data_type dependen de lo que elijas para un objeto data_category.
Los pares clave-valor data_type posibles aparecen en las listas que se mencionan más abajo. El
valor para cada una de estas claves es un objeto PersistableBundle que describe la
las prácticas de uso de datos de tu app para ese tipo de datos en particular. Algunos tipos de datos usan solo una clave.
Personal
nameemail_addressphysical_addressphone_numberrace_ethnicitypolitical_or_religious_beliefssexual_orientation_or_gender_identitypersonal_identifiersother
Finanzas.
card_bank_accountpurchase_historycredit_scoreother
Ubicación
approx_locationprecise_location
Correos electrónicos y mensajes de texto
emailstext_messagesother
Fotos y videos
photosvideos
Audio
sound_recordingsmusic_filesother
Almacenamiento
files_docs
Salud y entrenamiento físico
healthfitness
Contactos
contacts
Calendario
calendar
Identificadores
other
Rendimiento de la app
crash_logsperformance_diagnosticsother
Acciones en la app
user_interactionin_app_search_historyinstalled_appsuser_generated_contentother
Búsqueda y navegación
web_browsing_history
Uso de datos
El paquete data_usage contiene los siguientes pares clave-valor:
purposes(obligatorio)-
Es un array de números enteros que representa razones específicas para recopilar o compartir datos y usa el método
PersistableBundleputIntArray. Se requiere al menos uno de los propósitos que se definen a continuación para cada uno en un paquete.1: PURPOSE_APP_FUNCTIONALITY2: PURPOSE_ANALYTICS3: PURPOSE_DEVELOPER_COMMUNICATIONS4: PURPOSE_FRAUD_PREVENTION_SECURITY5: PURPOSE_ADVERTISING6: PURPOSE_PERSONALIZATION7: PURPOSE_ACCOUNT_MANAGEMENT
is_collection_optional-
Valor booleano. Especifica si los usuarios pueden habilitar o inhabilitar la recopilación de datos.
Nota: Establece este valor solo para paquetes
data_categoryque representen la recopilación de datos; no lo configures para el uso compartido de datos. ephemeral-
Valor booleano. Especifica si la app procesa los datos del servidor solo en la memoria, en lugar de en el disco, y que esta retiene los datos no más del tiempo necesario para atender la solicitud de procesamiento de datos específica.
Nota: Establece este valor solo para
data_categorypaquetes que representan la recopilación de datos No establecer para compartir datos.
Prácticas de encriptación y eliminación de datos
El paquete security_labels contiene pares clave-valor que representan la clave del
prácticas de encriptación y eliminación de datos:
is_data_deletable- Valor booleano. Especifica si la app permite o no que el usuario solicite la aplicación para borrar sus datos del usuario.
is_data_encrypted- Valor booleano. Especifica si todos los datos del usuario que recopila la app se encriptan cuando están en tránsito.
Verificación de terceros
El paquete third_party_verification consta de una sola clave: url. Esta URL, representada como un valor de cadena, especifica el sitio web de terceros que se utiliza para verificar la información de seguridad de los datos de la app.
Formato de las etiquetas de seguridad del servicio del sistema
En el caso de las apps que actúan como servicios del sistema, se usa el paquete system_app_safety_label en lugar del paquete safety_labels y contiene los siguientes pares clave-valor:
url (obligatorio)
- URL que dirige a una página que contiene información de seguridad de la aplicación que se que actúa como un servicio del sistema.
- Usa
stringcomo el tipo. - Si no se proporcionó, la URL de la política de privacidad se debe usar como resguardo.
- Nota: Google Play Store usa
privacy_policycomo resguardo.
Formato de información de transparencia
El paquete transparency_info contiene los siguientes pares clave-valor:
developer_info- Un objeto
PersistableBundleque especifica información sobre la app desarrollador. app_info- Un objeto
PersistableBundleque especifica información sobre la app.
Información del desarrollador
El paquete developer_info contiene los siguientes pares clave-valor:
developer_#- Un objeto
PersistableBundleque identifica al desarrollador. Eldeveloper_infocontiene uno o másdeveloper_#; donde#es un número entero. Por ejemplo,developer_0,developer_1,developer_2, etcétera.
Desarrollador
El paquete developer_# contiene la siguiente clave-valor
pares:
name(obligatorio)- Una cadena que indica el nombre del desarrollador.
email(obligatorio)- Una cadena que establece la dirección de correo electrónico del desarrollador.
address(obligatorio)- Una cadena que establece la dirección de correo postal del desarrollador.
country_region(obligatorio)- Es una cadena que indica el país o la región del desarrollador.
website- Es una cadena que indica el sitio web del desarrollador.
app_registry
- Es una cadena que indica la tienda o el registro del desarrollador.
- Si el desarrollador también está registrado en una tienda o en otro registro, el valor debe ser el nombre del paquete de Android de la tienda o la URL del registro.
- Se permiten varias entradas para múltiples tiendas.
- Para Google Play, usa
com.android.vending. - Si el desarrollador es un SDK que figura en el Índice SDK de Google Play, omite este .
- Si un desarrollador no está registrado en ninguna tienda de aplicaciones o registro, omite este atributo.
app_registry_id
- Es una cadena que indica el ID del desarrollador del
app_registryespecificado. - Si el desarrollador también está registrado en una tienda o en otro registro, el valor debe ser su identidad de almacén o registro.
- Se permiten varias entradas para múltiples tiendas.
- Para los desarrolladores registrados en Google Play, este valor debe ser la URL. de la página del desarrollador (por ejemplo, https://play.google.com/store/apps/dev?id=5700313618786177705 es la URL del desarrollador Google LLC).
- Si el desarrollador es desarrollador de SDK incluido en el Índice SDK de Google Play, usa la URL del Índice SDK de Google Play del SDK (por ejemplo, https://play.google.com/sdks/details/com-google-android-gms-play-services-ads es la URL del Índice SDK de Google Play del SDK de anuncios de Google para dispositivos móviles (GMA).
- Si el desarrollador está registrado en otra tienda o registro, se puede proporcionar una URL de tienda de aplicaciones o algún otro identificador.
- Si un desarrollador no está registrado en ninguna tienda de aplicaciones, este atributo se puede omitido.
Información de apps
El paquete app_info contiene los siguientes pares clave-valor:
title(obligatorio)- Una cadena que indica el título de la app.
description(obligatorio)- Una cadena que establece el propósito de la app en un BLOB de texto legible por humanos en inglés.
contains_ads(obligatorio)- Es un valor booleano que declara si la app muestra algún anuncio.
privacy_policy (obligatorio)
- Una cadena que contiene un atributo de URL que vincula a la política de privacidad en los que se detalla cómo se manejan los datos del usuario.
- Obligatorio para las apps que transmiten datos del usuario.
- Si la aplicación no contiene este vínculo, se asumirá que la aplicación no contiene administrar los datos del usuario.
category(obligatorio)Una cadena que contiene una de las siguientes categorías de app describe el objetivo principal de la app:
- Android (solo para un componente del AOSP)*
- Arte y diseño
- Autos y vehículos
- Belleza
- Libros y referencias
- Empresa
- Cómics
- Comunicaciones
- Citas
- Educación
- Entretenimiento
- Eventos
- Finanzas
- Comidas y bebidas
- Juego
- Salud y fitness
- Casa y hogar
- Instalador (solo para una tienda de aplicaciones o algún otro instalador)*
- Bibliotecas y demostración
- Estilo de vida
- Mapas y navegación
- Medicina
- Música y audio
- Noticias y revistas
- Crianza de hijos
- Personalización
- Fotografía
- Productividad
- Seguridad*
- Compras
- Social
- Deportes
- Herramientas
- Viajes y servicios locales
- Actualizador (solo para la app de actualización inalámbrica (OTA) predeterminada de un dispositivo)*
- Reproductores y editores de video
- Clima
contact_info- Un objeto
PersistableBundleque incluye información de contacto del (más abajo).
Información de contacto
El paquete contact_info contiene los siguientes pares clave-valor:
email(obligatorio)- Una cadena que establece la dirección de correo electrónico de la app.
website- Es una cadena que indica el sitio web de la app.