En esta página, se explica cómo configurar tu app o juego para que use la API de Play Integrity. Debes habilitar las respuestas de la API y, luego, integrar la API a tu app y al servidor de backend de tu app. Las opciones de configuración, las funciones de prueba y los informes adicionales estarán disponibles una vez que vincules el proyecto de Google Cloud que usas para la API de Play Integrity en Google Play Console.
Cómo habilitar las respuestas de la API de Play Integrity
Cada app o SDK que llame a la API de Play Integrity debe usar un proyecto de Google Cloud para supervisar el uso de la API. Las apps de Google Play pueden vincular un proyecto de Cloud en Google Play Console para habilitar las respuestas de la API de Play Integrity. Si quieres crear un proyecto nuevo de Cloud o tu app se distribuye de forma exclusiva fuera de Google Play, puedes habilitar las respuestas de la API de Play Integrity desde la consola de Google Cloud.
Configuración en Google Play Console (recomendado)
Si habilitas las respuestas de la API de Play Integrity en Google Play Console, obtendrás acceso a opciones de configuración adicionales, informes de API y funciones de prueba. Esta opción solo está disponible para las apps que se distribuyen en Google Play. Navega a Versión > Integridad de la app. En la API de Play Integrity, selecciona la opción para vincular un proyecto de Cloud. Elige el proyecto de Cloud que desees vincular a tu app para habilitar las respuestas de la API de Play Integrity. Ahora puedes integrar la API de Play Integrity en tu app.
Configuración en la consola de Google Cloud
En la consola de Google Cloud, crea un proyecto de Cloud nuevo o elige uno existente que desees usar con la API de Play Integrity. Navega a APIs y servicios. Selecciona la opción para habilitar APIs y servicios. Busca la API de Play Integrity y, luego, habilítala. Ahora puedes integrar la API de Play Integrity en tu app.
Instrucciones de configuración para proveedores de SDK
Los proveedores del SDK deben usar su propio proyecto de Google Cloud para llamar a la API de Play Integrity para que el uso de la API se atribuya al SDK y no a apps individuales que usan el SDK. Esto significa que las apps que usan tu SDK no tienen que configurar la API de Play Integrity. Tus solicitudes a la API se tienen en cuenta automáticamente para el uso de la API de tu SDK.
Puedes habilitar las respuestas de la API de Play Integrity desde la consola de Google Cloud. En la consola de Google Cloud, crea un proyecto de Cloud nuevo o elige uno existente que desees usar con la API de Play Integrity. Navega a APIs y servicios. Selecciona la opción para habilitar APIs y servicios. Busca la API de Play Integrity y, luego, habilítala. Ahora puedes integrar la API de Play Integrity en tu SDK.
Los proveedores de SDKs que deseen aumentar su cantidad máxima de solicitudes diarias deben completar el formulario de solicitud de cuota. En los comentarios opcionales, especifica que estás realizando una solicitud de aumento para tu SDK, además de incluir tus coordenadas de Maven (groupId:artifactId
) o una URL a tu SDK.
Cómo aumentar tus solicitudes diarias a la API de Play Integrity
Tu app estará sujeta a un máximo de 10,000 solicitudes totales por día. Puedes solicitar que se aumente este máximo diario si tu app necesita controlar una mayor cantidad de usuarios. Para ello, sigue las instrucciones que se indican a continuación.
Cómo aumentar la cantidad máxima diaria de solicitudes
Para poder recibir un aumento de la cantidad máxima diaria de solicitudes clásicas, la app debe estar disponible en Google Play, además de cualquier otro canal de distribución. Si tu app realiza solicitudes clásicas, incluso con un máximo diario aumentado, debes seguir limitando las llamadas a la API por usuario a acciones poco frecuentes y de alto valor para preservar los datos del usuario y la batería.
Para pedir un aumento de la cantidad máxima diaria de solicitudes, haz lo siguiente:
- Vincula el proyecto de Google Cloud que usas para la API de Play Integrity en Play Console.
- Asegúrate de implementar de forma correcta la lógica de API, incluida la estrategia de reintento recomendada.
- Solicita un aumento de la cuota con este formulario.
El aumento de la cuota de la API de Play Integrity puede tardar hasta una semana, por lo que te recomendamos que supervises el uso de la API de Play Integrity en Google Play Console o en la consola de Google Cloud, donde también puedes establecer alertas de cuota para evitar interrupciones del servicio.
Los aumentos de cuota de solicitudes clásicas se aplicarán automáticamente a la llamada del cliente para generar tokens de integridad y a la llamada del servidor para desencriptar y verificar los tokens de integridad. Los aumentos de cuota de solicitudes estándar se aplican a la llamada del servidor para desencriptar y verificar los tokens de integridad.
Cómo integrar la API de Play Integrity a tu app
Para integrar la API de Play Integrity a tu app o SDK, según el entorno de desarrollo, realiza una de las siguientes acciones:
Kotlin o Java
La biblioteca de Android más reciente para la API de Play Integrity está disponible en el repositorio de Maven de Google.
Agrega la siguiente dependencia al archivo build.gradle
de tu app:
implementation 'com.google.android.play:integrity:1.2.0'
Unity
Instala el complemento de Google Play Integrity para Unity 1.1.0 o una versión posterior. Para obtener instrucciones, consulta cómo instalar paquetes de Google para Unity.
- Se admiten todas las versiones de 2019.x, 2020.x y posteriores.
- Si usas Unity 2018.x, se admiten las versiones 2018.4 o posteriores.
- Si usas Unity 2017.x, se admiten las versiones 2017.4 o posteriores.
- No se admiten Unity 5.x ni versiones anteriores.
Nativo
Instala el SDK nativo de Play Core 1.12.1 o una versión posterior. Para obtener instrucciones, consulta la guía de configuración del entorno de desarrollo del SDK nativo de Play Core.
Cómo configurar respuestas de la API (opcional)
Las siguientes respuestas de la API se muestran en la respuesta de la API de Play Integrity de forma predeterminada:
Respuesta de la API | Etiqueta | Descripción |
---|---|---|
Integridad del dispositivo | MEETS_DEVICE_INTEGRITY |
La app se ejecuta en un dispositivo Android con la tecnología de los Servicios de Google Play. El dispositivo pasa las verificaciones de integridad del sistema y cumple con los requisitos de compatibilidad de Android. |
Sin etiquetas (un valor en blanco) | La app se está ejecutando en un dispositivo que muestra indicios de ataque (como trampas de API) o de vulneración del sistema (como un dispositivo con permisos de administrador), o bien no se está ejecutando en un dispositivo físico (como un emulador que no pasa las verificaciones de integridad de Google Play). | |
Detalles de la cuenta | LICENSED |
El usuario tiene derechos de acceso a la app. En otras palabras, el usuario instaló o compró la app en Google Play. El usuario conserva los derechos de la app después de desinstalarla, por lo que la cuenta seguirá teniendo licencia si el usuario obtiene la misma app de otro modo más adelante. |
UNLICENSED |
El usuario no tiene derechos de acceso a la app. Esto sucede, por ejemplo, cuando transfiere la app o no la adquiere en Google Play. | |
UNEVALUATED |
No se evaluó la información de las licencias porque se omitió un requisito necesario. Estos son algunos de los diversos motivos por los que podría suceder:
|
|
Integridad de la aplicación | PLAY_RECOGNIZED |
La app y el certificado coinciden con las versiones que distribuye Google Play. |
UNRECOGNIZED_VERSION |
El certificado o el nombre del paquete no coinciden con los registros de Google Play. | |
UNEVALUATED |
No se evaluó la integridad de la aplicación. Se omitió un requisito necesario, por ejemplo, el dispositivo no es lo suficientemente confiable. |
En Play Console, puedes habilitar la opción para recibir las siguientes respuestas de la API adicionales:
Respuesta de la API | Etiqueta | Descripción |
---|---|---|
Integridad del dispositivo | MEETS_BASIC_INTEGRITY |
La app se ejecuta en un dispositivo que pasa las verificaciones básicas de integridad del sistema. Es posible que el dispositivo no cumpla con los requisitos de compatibilidad de Android ni esté aprobado para ejecutar los Servicios de Google Play. Por ejemplo, puede que el dispositivo esté ejecutando una versión no reconocida de Android, que tenga un bootloader desbloqueado o que el fabricante no lo haya certificado. |
MEETS_STRONG_INTEGRITY |
La app se está ejecutando en un dispositivo Android con la tecnología de los Servicios de Google Play y tiene una garantía sólida de integridad del sistema, como una prueba de integridad de inicio con copia de seguridad en hardware. El dispositivo pasa las verificaciones de integridad del sistema y cumple con los requisitos de compatibilidad de Android. |
Si habilitas la opción para recibir etiquetas adicionales, la respuesta de integridad incluirá varias etiquetas para el mismo dispositivo si se cumplen cada uno de los criterios de esas etiquetas. Puedes preparar tu servidor de backend para que se comporte de manera diferente según el rango de respuestas posibles. Por ejemplo, un dispositivo que muestra MEETS_STRONG_INTEGRITY
, MEETS_DEVICE_INTEGRITY
y MEETS_BASIC_INTEGRITY
podría ser más confiable que uno que solo muestra MEETS_BASIC_INTEGRITY
, y la respuesta de tu servidor se puede personalizar según corresponda.
Si distribuyes tu app en Google Play Juegos para PC, se te habilitará automáticamente para recibir la siguiente respuesta de la API:
Respuesta de la API | Etiqueta | Descripción |
---|---|---|
Integridad del dispositivo | MEETS_VIRTUAL_INTEGRITY |
La app se está ejecutando en un Android Emulator con la tecnología de los Servicios de Google Play. El emulador pasa las verificaciones de integridad del sistema y cumple con los requisitos principales de compatibilidad de Android. |
Para realizar cambios en las respuestas de tu API, visita Play Console y navega a Versión > Integridad de la app. En Respuestas, edita y guarda los cambios. Esta opción solo está disponible para las apps en Google Play y requiere que vincules el proyecto de Cloud que usas con la API de Play Integrity en Play Console.
Cómo definir la configuración de solicitudes clásicas (opcional)
Omite esta sección si solo tienes previsto realizar solicitudes a la API estándar.
Cuando realizas solicitudes clásicas, de forma predeterminada, los servidores de Google Play administran la encriptación de las respuestas que usa tu app cuando interactúas con la API de Play Integrity. Si bien te recomendamos que uses esta opción predeterminada, puedes seguir las instrucciones que se indican a continuación para administrar y descargar tus claves de encriptación de respuestas.
Cómo permitir que Google administre tu encriptación de respuestas (opción predeterminada y recomendada)
Para proteger la seguridad de tu app, te recomendamos que permitas que Google genere y administre tus claves de encriptación de respuesta. Tu servidor de backend llamará al servidor de Google Play para desencriptar las respuestas.
Administra y descarga claves de encriptación de respuestas
Si deseas desencriptar el veredicto de integridad de forma local dentro de tu propio entorno de servidor seguro, puedes administrar y descargar tus claves de encriptación de respuesta. Para administrar y descargar tus claves de encriptación de respuestas, debes usar Play Console, y tu app debe estar disponible en Google Play, además de cualquier otro canal de distribución. Sigue las instrucciones a continuación para cambiar las claves de encriptación de respuestas administradas por Google a las autoadministradas.
Recuerda no desencriptar ni verificar el token que se recibió desde tu app cliente y nunca expongas ninguna clave de desencriptación en ella.
Antes de cambiar la estrategia de administración de encriptación de respuestas en Play Console, asegúrate de que tu servidor esté configurado correctamente para desencriptar y verificar los tokens de integridad en los servidores de Google Play para evitar interrupciones.
Cómo cambiar entre las claves de encriptación de respuestas administradas por Google y las autoadministradas
Si Google administra tu encriptación de respuestas y deseas cambiar para administrar y descargar las claves de encriptación de respuesta por tu cuenta, sigue estos pasos:
- Accede a Play Console.
- Selecciona una app que use la API de Play Integrity.
- En la sección Versión del menú de la izquierda, ve a Integridad de la app.
- Junto a la API de Play Integrity, haz clic en Configuración.
- En la sección Solicitudes clásicas de la página, junto a Encriptación de respuestas, haz clic en Editar.
- En la ventana que aparece, haz clic en Administrar y descargar mis claves de encriptación de respuestas.
- Sigue las instrucciones para subir una clave pública.
- Cuando en la ventana se muestre que la carga se realizó de forma correcta, haz clic en Guardar de modo que las claves encriptadas se descarguen automáticamente.
- Cambia la lógica del servidor para desencriptar y verificar los tokens de integridad de forma local en tu propio entorno de servidor seguro mediante tus claves de encriptación de respuesta.
- Cuando administras tus claves de encriptación de respuesta, la app puede recurrir al servidor de Google Play para desencriptar y verificar la respuesta (opcional).
Si administras tus claves de encriptación de respuesta y ahora deseas que Google lo haga, sigue estos pasos:
- Cambia la lógica del servidor de modo que solo desencriptes y verifiques en los servidores de Google.
- Accede a Play Console.
- Selecciona una app que use la API de Play Integrity.
- En la sección Versión del menú de la izquierda, ve a Integridad de la app.
- Junto a la API de Play Integrity, haz clic en Configuración.
- En la sección Solicitudes clásicas de la página, junto a Encriptación de respuestas, haz clic en Editar.
- En la ventana que aparece, haz clic en Permitir que Google administre mi encriptación de respuestas (opción recomendada).
- Haz clic en Guardar cambios.