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
PersistableBundle
al 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
2
como valor para esto. versión actual ylong
como el tipo. Si se esperan claves o tipos de contenido deAppMetadata
cambiará, Android cambiará el número de versión. safety_labels
- Un objeto
PersistableBundle
que especifica las etiquetas de seguridad de la app. system_app_safety_label
- Un objeto
PersistableBundle
que 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_label
en lugar del paquetesafety_labels
. transparency_info
- Un objeto
PersistableBundle
que 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
1
como valor para esto. versión actual ylong
como el tipo. data_labels
- Un objeto
PersistableBundle
que especifica los datos que recopila y comparte la app. security_labels
- Un objeto
PersistableBundle
que especifica las prácticas de eliminación y encriptación de datos de la app. third_party_verification
- Un objeto
PersistableBundle
que 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
PersistableBundle
que especifica los tipos de datos que la app recopila. data_shared
- Un objeto
PersistableBundle
que 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.
personal
financial
location
email_text_message
photo_video
audio
storage
health_fitness
contacts
calendar
identifiers
app_performance
actions_in_app
search_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
name
email_address
physical_address
phone_number
race_ethnicity
political_or_religious_beliefs
sexual_orientation_or_gender_identity
personal_identifiers
other
Finanzas.
card_bank_account
purchase_history
credit_score
other
Ubicación
approx_location
precise_location
Correos electrónicos y mensajes de texto
emails
text_messages
other
Fotos y videos
photos
videos
Audio
sound_recordings
music_files
other
Almacenamiento
files_docs
Salud y entrenamiento físico
health
fitness
Contactos
contacts
Calendario
calendar
Identificadores
other
Rendimiento de la app
crash_logs
performance_diagnostics
other
Acciones en la app
user_interaction
in_app_search_history
installed_apps
user_generated_content
other
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
PersistableBundle
putIntArray
. 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_category
que 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_category
paquetes 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
string
como 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_policy
como resguardo.
Formato de información de transparencia
El paquete transparency_info
contiene los siguientes pares clave-valor:
developer_info
- Un objeto
PersistableBundle
que especifica información sobre la app desarrollador. app_info
- Un objeto
PersistableBundle
que especifica información sobre la app.
Información del desarrollador
El paquete developer_info
contiene los siguientes pares clave-valor:
developer_#
- Un objeto
PersistableBundle
que identifica al desarrollador. Eldeveloper_info
contiene 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_registry
especificado. - 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
PersistableBundle
que 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.