Veredictos mejorados en dispositivos con Android 13 y versiones posteriores

Recientemente, anunciamos que fortaleceremos los veredictos de la API de Play Integrity para que sean más rápidos, más resistentes a los ataques y más privados para los usuarios, junto con otras mejoras de seguridad.

Resumen de cambios

Puedes encontrar un resumen detallado de los cambios y el impacto esperado más adelante en este documento. Los nuevos veredictos estarán disponibles de la siguiente manera:

  • Integraciones nuevas: Todas las integraciones nuevas recibirán automáticamente los veredictos nuevos.

  • Integraciones existentes hasta mayo de 2025: Los desarrolladores con integraciones existentes pueden habilitar la opción en la página de configuración de la API de Play Integrity en Play Console para recibir los veredictos nuevos junto con los heredados ahora, lo que te dará tiempo para revisar y considerar hacer cambios en el comportamiento de tu app. Antes de habilitar la opción, puedes ver el cambio esperado en el porcentaje de dispositivos que muestran cada veredicto y una muestra JSON del veredicto nuevo. Cuando habilites la opción, recibirás dos campos adicionales en la respuesta con la versión del SDK de Android y los veredictos heredados.

  • Integraciones existentes después de mayo de 2025: Las mejoras se lanzarán para todas las integraciones, sin necesidad de trabajo de los desarrolladores. Las apps que habiliten esta opción antes de mayo de 2025 no recibirán el campo temporal que contiene los veredictos heredados.

Qué ¿Qué cambiará? Impacto estimado* Qué dispositivos
Cambios que afectan a todos los desarrolladores que realizan solicitudes a la API de Play Integrity
Respuesta del veredicto del dispositivo: meets-device-integrity Se requiere un veredicto positivo de inicio verificado respaldado por hardware Impacto mínimo porque la API de Play Integrity ya usa indicadores de seguridad respaldados por hardware en dispositivos con Android 13 o versiones posteriores (~0.4%). Android 13 y versiones posteriores
Respuesta de integridad de la app: veredicto de reconocimiento de la app Sin cambios Impacto mínimo, esto reflejará el cambio en el veredicto del dispositivo (~0.4%). Android 13 y versiones posteriores
Respuesta de los detalles de la cuenta: veredicto de la licencia de Play Google Play debe instalar o actualizar la app que solicita Disminución menor en las respuestas con licencia (~2.5%) Android 11 y versiones posteriores (este cambio se implementará gradualmente)
Cambios que solo afectan a los desarrolladores de Play Console y de Play SDK Console que usan funciones opcionales
Respuesta del veredicto del dispositivo: meets-basic-integrity Es obligatorio tener la certificación de claves de la plataforma de Android, pero el estado de inicio puede verificarse o no verificarse. Disminución menor en las respuestas básicas (~0.4%) Android 13 y versiones posteriores
Respuesta del veredicto del dispositivo: meets-strong-integrity Se requiere una actualización de seguridad en el último año Disminución de las respuestas sólidas (~14.5%) Android 13 y versiones posteriores
Todos los indicadores opcionales Google Play debe instalar o actualizar la app que solicita Disminución del porcentaje de respuestas que incluyen indicadores opcionales (~7%) Android 13 y versiones posteriores

*Todos los porcentajes de impacto estimados anteriores se basan en promedios, y es posible que diferentes apps vean cambios menores o mayores según su base de instalaciones.

Preguntas frecuentes

Descripción general

¿Qué es la API de Play Integrity?

La API de Play Integrity te ayuda a evaluar la confiabilidad del entorno de la app del usuario. Para ello, obtiene información sobre el dispositivo, la app y el usuario, de modo que puedas detectar y responder a posibles abusos y ataques.

¿Qué indicadores proporciona la API de Play Integrity?

La API de Play Integrity incluye la identidad de la app solicitante, si Google Play la instaló y si el dispositivo es un dispositivo Android con certificación de Play Protect original. Estos indicadores se proporcionan de forma predeterminada. Puedes leer estos indicadores en el servidor de backend de tu app y decidir si esta debe responder y cómo hacerlo. Los desarrolladores de Google Play pueden habilitar la recepción de indicadores adicionales en sus instalaciones de Play para ver aún más información.

¿Qué es la Certificación de claves de la plataforma de Android?

La certificación de claves de la plataforma de Android permite que las apps verifiquen el estado del dispositivo y obtengan una señal sólida de integridad de inicio con copia de seguridad en hardware. Depende de una clave que aprovisiona Google en el almacén de claves con copia de seguridad de hardware del dispositivo. La API de Play Integrity ya usa la certificación de claves para obtener indicadores de seguridad respaldados por hardware en algunos dispositivos y ahora los integrará de forma más profunda en todos los dispositivos que ejecuten Android 13 o versiones posteriores.

Cambios en el veredicto

¿Qué cambios se están realizando en los veredictos de la API de Play Integrity en dispositivos con Android 13 o versiones posteriores?

La API de Play Integrity ahora requerirá indicadores de seguridad respaldados por hardware para todos los veredictos de integridad:

  • El veredicto de reconocimiento de dispositivos meets-device-integrity es una indicación de que el dispositivo en el que se ejecuta la app es un dispositivo con Android certificado por Play Protect. Este veredicto requerirá que el bootloader del dispositivo esté bloqueado y que el SO Android cargado sea una imagen del fabricante del dispositivo certificada.
  • El veredicto de reconocimiento de dispositivos meets-strong-integrity indica un dispositivo Android original con certificación de Play Protect y una actualización de seguridad reciente. Este veredicto requerirá meets-device-integrity y que el dispositivo haya tenido una actualización de seguridad en el último año. Esta condición puede cambiar en el futuro.
  • El veredicto de reconocimiento de dispositivos meets-basic-integrity indica que la verificación se realizó en un dispositivo físico con Android. El bootloader del dispositivo puede estar bloqueado o desbloqueado, y el estado de inicio puede estar verificado o no verificado. Es posible que no tenga la certificación de Play Protect, en cuyo caso Google no puede proporcionar ninguna garantía de seguridad, privacidad ni compatibilidad de apps, ni garantizar que el dispositivo no esté actuando como proxy, por ejemplo, para una instancia virtual de Android. Esto también significa que los dispositivos con permisos de administrador son aptos para mostrar meets-basic-integrity, siempre que haya una certificación de claves.

Estos cambios no afectan a la API de Play Integrity en Play Juegos para PC, que seguirá mostrando meets-virtual-integrity.

¿Por qué se cambian los veredictos de la API de Play Integrity en dispositivos con Android 13 o versiones posteriores?

La API de Play Integrity solo ha estado usando parcialmente indicadores de seguridad con respaldo de hardware en las versiones del SDK de Android. Si aumentas su integración, los veredictos de la API de Play Integrity serán más resistentes a los atacantes, más eficaces para las apps y más privados para los usuarios. Una vez que se complete la transición, esperamos ver las siguientes mejoras en los dispositivos con Android 13 o versiones posteriores:

  • Se redujo en un ~90% la cantidad de indicadores de dispositivos que se deben recopilar y evaluar para generar el veredicto predeterminado en los servidores de Google. Los indicadores opcionales seguirán requiriendo que se recopilen indicadores adicionales.
  • Mejora de la latencia del veredicto en un 80% para las solicitudes estándar del peor caso y en un 80% para todas las solicitudes clásicas para obtener el veredicto predeterminado. Los indicadores opcionales pueden aumentar la latencia.
  • Un nivel de confiabilidad y compatibilidad coherente con todos los factores de forma de Android con certificación de claves, incluidos dispositivos móviles, tablets, plegables, TVs, Auto, Wear OS y ChromeOS.
  • Una mayor diferenciación entre cada etiqueta de dispositivo en el veredicto de reconocimiento de dispositivos: meets-strong-integrity, meets-device-integrity y meets-basic-integrity.

No se espera que el rendimiento cambie durante el período de habilitación mientras la API de Play Integrity genera veredictos de integridad nuevos y antiguos. Sin embargo, después del lanzamiento de los nuevos veredictos para todos los desarrolladores en mayo de 2025, esperamos que las mejoras de rendimiento se vean de forma gradual, mientras quitamos o migramos las dependencias heredadas para todos los indicadores predeterminados y opcionales.

El veredicto de la API de Play Integrity en Play Juegos para PC no cambiará y será el mismo en Android 12 y versiones anteriores que en Android 13 y versiones posteriores.

¿Cómo puedo actualizar la lógica del backend de mi app para que los veredictos de integridad tengan en cuenta la versión del SDK de Android?

Si quieres usar una lógica diferente en el servidor de backend de tu app según la versión del SDK de Android, puedes usar el nuevo campo de atributos del dispositivo en el veredicto. Este es un ejemplo de cómo hacerlo:

Kotlin

val deviceIntegrity =
  JSONObject(payload).getJSONObject("deviceIntegrity")
val sdkVersion =
  if (deviceIntegrity.has("deviceAttributes")) {
    deviceIntegrity.getJSONObject("deviceAttributes").getInt("sdkVersion")
  } else {
    0
  }

if (sdkVersion >= 30) {
  // Provide Android R+ specific experience to the user.
}

Java

JSONObject deviceIntegrity =
  new JSONObject(payload).getJSONObject("deviceIntegrity");
int sdkVersion =
  deviceIntegrity.has("deviceAttributes")
    ? deviceIntegrity.getJSONArray("deviceAttributes").getInt("sdkVersion")
    : 0;

if (sdkVersion >= 30) {
  // Provide Android R+ specific experience to the user.
}

¿Cómo puedo usar la definición de etiqueta meets-strong-integrity anterior en todas las versiones del SDK de Android?

Para lograrlo, actualiza la lógica de backend de tu app para usar meets-strong-integrity cuando sea un dispositivo anterior a Android 13 y meets-device-integrity cuando sea un dispositivo con Android 13 o versiones posteriores con el nuevo campo de atributos de dispositivos en el veredicto que contiene la versión del SDK de Android. Este es un ejemplo de cómo hacerlo:

Kotlin

val deviceRecognitionVerdict =
  if (deviceIntegrity.has("deviceRecognitionVerdict")) {
    deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString()
  } else {
    ""
  }

val deviceIntegrityToCheckFor =
  sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY";

if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) {
  // Looks good!
}

Java

JSONObject deviceIntegrity =
  new JSONObject(payload).getJSONObject("deviceIntegrity");
String deviceRecognitionVerdict =
  deviceIntegrity.has("deviceRecognitionVerdict")
    ? deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString()
    : "";

String deviceIntegrityToCheckFor =
  sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY";

if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) {
  // Looks good!
}

Como también es un indicador respaldado por hardware, el campo de atributos del dispositivo es más confiable en dispositivos que ejecutan Android 13 y versiones posteriores.

¿Qué otros cambios de veredicto realiza la API de Play Integrity?

Invertir de forma continua en la confiabilidad de los indicadores existentes en la API de Play Integrity y lanzar funciones nuevas periódicamente para ayudar a los desarrolladores a abordar amenazas emergentes y casos de uso nuevos Estas son otras mejoras en los veredictos que estamos realizando:

  • Respuesta con licencia de Play: Para mostrar una respuesta con licencia de Play, la API de Play Integrity ahora siempre requiere que Google Play instale o actualice la app solicitante. Esto corrige algunos casos extremos y facilita la interpretación de la respuesta para los desarrolladores. Esta función está disponible en Android 13 o versiones posteriores.
  • Disponibilidad de indicadores opcionales: Todos los indicadores opcionales disponibles para los desarrolladores que usan Google Play Console o Play SDK Console ahora requerirán que Google Play instale o actualice la app solicitante en Android 13 o versiones posteriores. Esto incluye meets-strong-integrity, meets-basic-integrity, la actividad reciente del dispositivo, el veredicto de riesgo de acceso de apps y el veredicto de Play Protect. Todas las demás solicitudes a la API de Play Integrity se estandarizarán para recibir la verificación del dispositivo (solo con la etiqueta meets-device-integrity), la verificación del instalador y la verificación de integridad de la app.
  • Cambios en los veredictos de dispositivos específicos: La API de Play Integrity también comenzará a cambiar automáticamente los veredictos de los dispositivos en más situaciones para proteger las apps antes en todas las versiones del SDK de Android, por ejemplo, cuando haya evidencia de actividad excesiva o compromiso de claves. Esto incluirá la capacidad de que Play recurra a otros indicadores para generar veredictos de dispositivos temporales para los usuarios cuando los indicadores respaldados por hardware no estén disponibles. Se recomienda a los desarrolladores que usen los diálogos de solución de Play en la app o que dirijan a los usuarios a la app de Play Store para solucionar problemas de veredicto de integridad. Con el tiempo, estos diálogos abordarán más situaciones e incluirán orientación específica para los usuarios que les indique qué deben corregir en función de su dispositivo o cuenta específicos.

Cómo habilitar o inhabilitar la función

¿Cómo habilito el veredicto mejorado en dispositivos con Android 13 o versiones posteriores?

Los desarrolladores que usan Play Console pueden habilitar esta opción en la página de configuración de la API de Play Integrity.

¿Qué sucederá con mi respuesta de la API de Play Integrity después de que acepte?

Cuando habilites esta opción, ocurrirán tres acciones:

  • Las respuestas en el campo deviceRecognitionVerdict comenzarán a generarse y mostrarse de inmediato según los nuevos requisitos de evaluación de veredictos en dispositivos con Android 13 o versiones posteriores. En los dispositivos que ejecutan Android 12 y versiones anteriores, se generará deviceRecognitionVerdict con la evaluación del veredicto histórico.
  • Recibirás un campo nuevo, deviceAttributes, que contiene la versión del SDK de Android en el dispositivo.
  • Recibirás un campo nuevo, legacyDeviceRecognitionVerdict, que contiene las respuestas de integridad del dispositivo según los requisitos de evaluación de veredictos históricos, independientemente de la versión del SDK de Android.

Cuando se lancen los cambios de veredicto para todas las integraciones en mayo de 2025, las apps que habilitaron esta opción dejarán de recibir el campo legacyDeviceRecognitionVerdict.

¿Cómo informo problemas relacionados con los veredictos de integridad?

Para informar problemas con las respuestas de la API de Play Integrity, ya sea que el problema sea con los veredictos históricos o los nuevos, sigue las instrucciones que se indican en la página de asistencia.

¿Puedo inhabilitar la función después de haberla habilitado?

Sí, puedes inhabilitar esta opción en la página de configuración de la API de Play Integrity.

Disponibilidad

¿Qué requiere la API de Play Integrity para funcionar?

La API de Play Integrity requiere que Google Play Store y los Servicios de Google Play se instalen en un dispositivo, lo que incluye dispositivos Android y Google Play Juegos para PC. Las solicitudes clásicas requieren Android 4.4 (nivel de API 19) o versiones posteriores, y las solicitudes estándar requieren Android 5.0 (nivel de API 21) o versiones posteriores. En los dispositivos que ejecutan Android 13 (nivel de API 33) y versiones posteriores, la API de Play Integrity ahora tendrá el mismo nivel de confiabilidad y compatibilidad en todos los factores de forma de Android con certificación de claves, incluidos dispositivos móviles, tablets, plegables, TVs, Auto, Wear OS y ChromeOS.

¿Por qué la API de Play Integrity tiene veredictos diferentes para diferentes dispositivos?

La API de Play Integrity proporciona varios veredictos de dispositivos para adaptarse a los desarrolladores con diferentes casos de uso y tolerancias de riesgo, y para permitir tener una estrategia de aplicación por niveles. Por ejemplo, cuando la app y el dispositivo son más confiables, un desarrollador puede optimizar los pasos de verificación del usuario. Por el contrario, cuando un dispositivo es desconocido, el desarrollador puede requerir una verificación del usuario adicional antes de realizar acciones protegidas o sensibles. Esta puede ser una forma efectiva de reducir los abusos y los ataques.

¿Qué es un dispositivo con certificación de Play Protect y Android?

Un dispositivo con certificación de Play Protect y con Android (también conocido como dispositivo Android con GMS) es un dispositivo que ejecuta software predecible que pasó cientos de pruebas de compatibilidad de Google, cumple con el modelo de seguridad y permisos de Android y se envió con el paquete de funciones contra software malicioso de Google Play Protect. Cuando la API de Play Integrity pueda verificar que un dispositivo es un dispositivo con Android certificado por Play Protect, mostrará la respuesta meets-device-integrity en el veredicto de reconocimiento del dispositivo.

¿Qué es un dispositivo meets-basic-integrity?

La API de Play Integrity también devuelve una respuesta opcional en el veredicto del dispositivo, meets-basic-integrity. Si un dispositivo solo muestra el veredicto meets-basic-integrity sin meets-device-integrity ni meets-strong-integrity, significa que no se puede verificar el SO Android, pero hay una certificación de claves. Esto indica que la verificación se realizó en un dispositivo físico con Android, pero Google no puede garantizar la seguridad, la privacidad ni la compatibilidad de la app del dispositivo, ni tampoco que el dispositivo no esté actuando como proxy, como en el caso de una instancia virtual de Android. Según los casos de uso y las tolerancias al riesgo de los desarrolladores, pueden decidir cómo quieren que se ejecute su app en estos dispositivos.

¿Puede cualquier desarrollador usar la API de Play Integrity?

Sí, cualquier desarrollador de Android puede realizar solicitudes a la API de Play Integrity para recibir los veredictos de integridad predeterminados. El uso se limita a 10,000 solicitudes por día, independientemente del canal de distribución. Los desarrolladores que publican sus apps en Google Play, además de cualquier otro canal de distribución, también pueden solicitar un aumento de su cuota diaria.

¿Puede cualquier desarrollador usar la Certificación de claves de la plataforma de Android?

Sí, cualquier desarrollador de Android puede usar la Certificación de claves de la plataforma de Android para obtener un registro de certificación de claves, que puede verificar con el certificado público de la clave raíz de certificación de Google. La API de Play Integrity les brinda a los desarrolladores los beneficios de la certificación de claves y funciones adicionales sin toda la complejidad de tener que integrarse con la certificación de claves por su cuenta.

Aplicación

¿Cómo usan los desarrolladores los veredictos de la API de Play Integrity?

Los desarrolladores son quienes deciden si usar los veredictos de la API de Play Integrity y cómo hacerlo. Algunos desarrolladores recopilan los indicadores para el análisis interno contra el abuso, mientras que otros tomarán decisiones sobre el comportamiento de su app en función del veredicto. Por ejemplo, los desarrolladores podrían decidir exigir que los dispositivos menos confiables realicen pasos adicionales de verificación del usuario cuando se crea una cuenta, o bien podrían decidir que los dispositivos menos confiables deben jugar juntos en el mismo servidor multijugador.

¿La API de Play Integrity bloquea usuarios o dispositivos?

No, la API de Play Integrity no bloquea el acceso a ninguna funcionalidad. Es un servicio opcional para desarrolladores que proporciona indicadores, y los desarrolladores eligen cómo actuar en función de ellos.

¿Qué deben hacer los usuarios si su dispositivo no aprueba las verificaciones de la API de Play Integrity?

Los usuarios pueden ir a la app de Play Store en su dispositivo, abrir el menú Configuración, desplazarse hacia abajo hasta Información y, luego, buscar en la certificación de Play Protect. Si hay un problema con la certificación de Play Protect de su dispositivo, habrá un botón que los usuarios podrán presionar para intentar solucionarlo. Esto actualizará el estado de certificación del dispositivo y proporcionará orientación específica sobre lo que se debe corregir.