Puedes usar la API de Play Integrity para proteger tus apps y juegos de interacciones riesgosas. Mediante la identificación de estas interacciones, tu app puede responder de manera adecuada para reducir el riesgo de ataques y abuso.
Cómo funciona
La API de Integrity unifica las funciones contra el abuso de Google Play con un conjunto de indicadores de integridad. El objetivo de esta combinación es ayudar a los desarrolladores de apps y juegos para Android a detectar tráfico potencialmente riesgoso y fraudulento. Ese tráfico podría provenir de versiones modificadas de tu app o juego, de dispositivos no confiables, o bien de otros entornos poco fiables. Si detectas este tráfico, puedes tomar las medidas adecuadas a fin de reducir los casos de abuso y ataques, como fraudes, engaños y accesos no autorizados.
Cuando un usuario realiza una acción definida por la app o el juego, tu servidor le indica al código del cliente que invoque la API de Integrity. El servidor de Google Play muestra una respuesta encriptada con un veredicto de integridad para indicar si puedes confiar o no en este dispositivo y su objeto binario. Luego, tu app reenvía esa respuesta al servidor para que se verifique. El servidor puede decidir qué debe hacer tu app o juego a continuación.
La API entrega un veredicto de integridad en una respuesta que incluye la siguiente información:
- Objeto binario original de la app: Determina si interactúas con el objeto binario sin modificar que Google Play reconoce.
- Instalación original de Play: Determina si la cuenta de usuario actual tiene licencia, lo que significa que el usuario instaló o pagó la app o el juego en Google Play.
- Dispositivo Android original: Determina si tu app se ejecuta en un dispositivo Android original con la tecnología de los Servicios de Google Play (o una instancia original de Google Play Juegos para PC).
También puedes elegir recibir información adicional sobre el entorno en el veredicto de integridad:
- Riesgo de acceso de apps: Determina si se están ejecutando otras apps que podrían capturar la pantalla, mostrar superposiciones sobre tu app o controlar el dispositivo.
- Riesgo de software malicioso conocido: Determina si Google Play Protect está activado y si encontró software malicioso conocido en el dispositivo.
Sugerencias:
- Puedes supervisar el estado de la API de Play Integrity y otros servicios de Play en el panel de estado de Google Play.
- Para que la API de Integrity le proporcione el máximo valor a tu app, debes seguir cada una de las prácticas recomendadas en la documentación del sitio Android Developers.
Configura y administra la API de Play Integrity
Habilita la API de Integrity para tu app
Para habilitar las respuestas de la API de Integrity en la app, debes vincular un proyecto de Google Cloud en Play Console. Para vincular tu proyecto, haz lo siguiente:
- Abre Play Console y ve a la página Integridad de la app (
Prueba y lanza
> Integridad de la app). - Desplázate hasta la sección "API de Play Integrity".
- Elige "Vincular un proyecto existente" y el proyecto que quieras vincular.
- Haz clic en Vincular proyecto de la nube.
Para comenzar a integrar la API de Integrity en la app, debes hacer lo siguiente:
- En el caso de las apps que usan Java/Kotlin, instala la biblioteca de Android más reciente que se encuentre disponible para la API de Play Integrity desde el repositorio Maven de Google.
- En el caso de los juegos que usan Unity, instala la versión más reciente de Complementos de Google Play para Unity. Se admiten todas las versiones de 2019.x, 2020.x y posteriores. Si usas Unity 2018.x, instala la versión 2018.4 o una posterior. Si usas Unity 2017.x, instala la versión 2017.4.40 o una posterior. No se admiten Unity 5.x ni versiones anteriores.
- En el caso de las apps y los juegos nativos, instala la versión más reciente del SDK nativo de Play Core.
Ahora puedes seguir estos pasos en el sitio para desarrolladores de Android y comenzar a usar la API de Play Integrity en tu app o juego.
Personaliza las respuestas de la API de Integrity (opcional)
Para obtener información sobre cómo configurar las respuestas de integridad de la API, visita el sitio de Android Developers.
Para editar las respuestas de la API, sigue estos pasos:
- Abre Play Console y ve a la página Integridad de la app (
Prueba y lanza
> Integridad de la app). - Desplázate hasta la sección "API de Play Integrity".
- Haz clic en Configuración.
- Desplázate hasta la sección "Respuestas".
- Haz clic en Editar
- Selecciona o anula la selección de las casillas de verificación junto a las respuestas de la API que quieres cambiar.
- Haz clic en Guardar cambios.
Importante: Los cambios en las respuestas de la API se aplican inmediatamente después de que los guardas, incluso cuando la app se encuentra en producción. Antes de cambiar el conjunto de respuestas de la API en Play Console, asegúrate de que tu servidor esté preparado para aceptar esas respuestas.
Establece la configuración de solicitudes clásicas (opcional)
De forma predeterminada, Google administra la encriptación de respuestas para las solicitudes clásicas. Sin embargo, puedes optar por administrar la encriptación de respuestas por tu cuenta si lo prefieres.
Importante: Cambiar la encriptación de respuestas entre que la administre Google y que lo hagas por tu cuenta requiere cambios de código en el servidor de backend.
Para administrar la encriptación de respuestas por tu cuenta, sigue estos pasos:
- Abre Play Console y ve a la página Integridad de la app (
Prueba y lanza
> Integridad de la app). - Desplázate hasta la sección "API de Play Integrity".
- Haz clic en Configuración.
- Desplázate hasta la sección "Solicitudes clásicas". Según la configuración predeterminada, junto a "Encriptación de respuestas", el estado será "Administradas por Google". Haz clic en Cambiar.
- Elige "Administrar y descargar mis claves de encriptación de respuestas" y haz clic en Guardar cambios. Google generará claves de encriptación de respuestas para que las descargues y administres. Si quieres utilizar las claves para desencriptar respuestas, debes actualizar la lógica de tu servidor de backend.
- Sigue las instrucciones en pantalla para generar un archivo .pem y subirlo. Luego, podrás descargar las claves de API.
- Un mensaje en pantalla confirmará que se actualizó la administración de encriptación de respuestas.
- Descarga las nuevas claves de encriptación de respuestas y actualiza el servidor de backend para desencriptar sus respuestas en producción. Regresa a la pestaña API de Integrity en la página Integridad de la app para permitir que Google Play comience a usar las nuevas claves de encriptación de respuestas en lugar de las claves heredadas. Este cambio es inmediato.
Si quieres revertir de "administradas por cuenta propia" a "administradas por Google", sigue estos pasos:
- Abre Play Console y ve a la página Integridad de la app (
Prueba y lanza
> Integridad de la app). - Desplázate hasta la sección "API de Play Integrity".
- Haz clic en Configuración.
- Desplázate hasta la sección "Solicitudes clásicas". Junto a "Encriptación de respuestas", el estado será "Administradas por cuenta propia", ya que lo cambiaste anteriormente. Haz clic en Cambiar.
- Elige "Permitir que Google administre mi encriptación de respuestas (opción recomendada)" y haz clic en Guardar cambios. Google generará y administrará tus claves de encriptación de respuestas. Tu servidor de backend llamará al servidor de Google Play para desencriptar las respuestas.
Prueba la integración de la API de Play Integrity
Para probar la integración de la API de Integrity, puedes configurar una lista de cuentas de Gmail. Primero, asegúrate de que los verificadores tengan acceso a la versión. Publica la app en el segmento de pruebas internas o en el que quieras probarla. Luego, sigue las instrucciones para administrar verificadores por dirección de correo electrónico o usar Grupos de Google para que los verificadores puedan acceder a tu versión.
Para configurar una prueba, haz lo siguiente:
- Abre Play Console y ve a la página Integridad de la app (
Prueba y lanza
> Integridad de la app). - Desplázate hasta la sección "API de Play Integrity".
- Haz clic en Configuración.
- Desplázate hasta la sección "Pruebas".
- Haz clic en Crear una prueba nueva.
- Selecciona una lista de direcciones de correo electrónico o crea una.
- Haz clic en Crear prueba.
Personaliza la ficha de Play Store para cuando los usuarios la visiten desde los diálogos de la API de Integrity
Puedes usar un diálogo de corrección de la API de Integrity para solicitar a los usuarios que obtuvieron la app de manera no oficial que la descarguen desde Google Play. Cuando los usuarios presionan el diálogo, se los redirecciona a la ficha de Play Store, donde pueden presionar el botón de instalación (o de compra o actualización) para que la app se agregue a su biblioteca de Play.
Puedes personalizar los recursos de la ficha de Play Store para los visitantes que presionen los diálogos de corrección de la API de Integrity (por ejemplo, el nombre, el ícono, las descripciones y los recursos gráficos). Para personalizar la ficha de Play Store cuando los usuarios la visiten desde un diálogo de la API de Integrity, haz lo siguiente:
- Abre Play Console y ve a la página Integridad de la app (
Prueba y lanza
> Integridad de la app). - Desplázate hasta la sección "API de Play Integrity".
- Haz clic en Configuración.
- Desplázate hasta la sección "Personaliza las fichas de Play Store".
- Haz clic en Crear ficha.
- Sigue las instrucciones de la página Crea una ficha de Play Store personalizada y haz clic en Guardar.
Como alternativa, puedes crear fichas de Play Store personalizadas para los diálogos de la API de Integrity directamente desde la página "Fichas de Play Store personalizadas":
- Abre Play Console y ve a la página Fichas de Play Store personalizadas (Aumenta la cantidad de usuarios > Fichas de Play Store personalizadas).
- Haz clic en Crear ficha, elige si deseas crear una ficha nueva o duplicar una existente, y haz clic en Siguiente.
- En "Detalles de la ficha", busca la sección "Público objetivo".
- Selecciona Por URL y escribe "playintegrity" en el cuadro de texto.
- Ingresa el resto de los detalles y haz clic en Guardar.
Nota: El parámetro de URL "playintegrity" es una palabra clave especial que se reserva para los vínculos directos de integridad, por lo que debe ingresarse de manera exacta cuando se configura la ficha de Play Store personalizada.
Aumenta las solicitudes máximas diarias a la API de Play Integrity
De forma predeterminada, las apps pueden realizar hasta 10,000 solicitudes por día a la API de Integrity.
Para ver el volumen de solicitudes que realiza la app a diario, haz lo siguiente:
- Abre Play Console y ve a la página Integridad de la app (
Prueba y lanza
> Integridad de la app). - Desplázate hasta la sección "API de Play Integrity".
- Consulta la cantidad diaria de solicitudes. Para ver más datos, cambiar el período y aplicar filtros, haz clic en Ver informe de la API de Integrity.
Para ver las solicitudes máximas diarias de tu app, haz lo siguiente:
- Abre Play Console y ve a la página Integridad de la app (
Prueba y lanza
> Integridad de la app). - Desplázate hasta la sección "API de Play Integrity".
- Haz clic en Configuración.
- Consulta tu nivel de uso.
Puedes enviar más de 10,000 solicitudes por día. Para ser apto, debes cumplir con los siguientes requisitos:
- Confirma la implementación correcta de la lógica de API, incluidos los reintentos.
- Publica la app en Google Play, además de cualquier otro canal de distribución.
Para aumentar la cantidad máxima de solicitudes diarias, completa este formulario.
Contenido relacionado
- Consulta la documentación para desarrolladores sobre la API de Play Integrity
- Mira este video de descripción general de la API de Play Integrity
- Más información sobre los servicios de firma e integridad en Play Console
- Más información sobre los servicios de integridad y firma en el sitio de Android Developers.