Detecta abusos reiterados con el reconocimiento de dispositivo (beta)

En esta página, se describe cómo usar la recuperación de dispositivos para almacenar y recuperar datos personalizados con dispositivos específicos. Puedes recuperar de forma confiable los datos personalizados más adelante cuando tu app se instale en el mismo dispositivo, incluso después de que se restablezca el dispositivo. Esto te permite detectar y evitar que se reutilice un dispositivo en función de una acción o un comportamiento que especifiques, a la vez que se preserva la privacidad del usuario.

¿Cómo funciona el retiro de dispositivos?

La recuperación de dispositivos permite que las apps almacenen y recuperen datos personalizados asociados con un dispositivo específico de una manera que preserva la privacidad del usuario. Los datos se almacenan en los servidores de Google, lo que permite que tu app recupere de forma confiable tus datos personalizados, incluso después de que se haya reinstalado la app o se haya restablecido el dispositivo. Por ejemplo, puedes usar la función para recuperar dispositivos en los que encontraste evidencia de abuso grave, dispositivos que ya canjearon elementos valiosos (como una prueba gratuita) o dispositivos que se usan de forma reiterada para crear cuentas nuevas con fines abusivos. El reconocimiento de dispositivo preserva la privacidad del usuario porque la app que realiza la solicitud solo puede recuperar los datos limitados que asoció con los dispositivos, sin acceder a ningún identificador de dispositivo o usuario. Después de activar la recuperación del dispositivo, puedes hacer lo siguiente:

  • Leer datos por dispositivo: Puedes leer tres valores personalizados o bits para cada dispositivo cuando obtienes un veredicto de integridad. Puedes definir tu propio significado para estos valores. Por ejemplo, puedes tratarlos como tres marcas separadas o combinarlos para representar ocho etiquetas personalizadas.
  • Modifica los datos por dispositivo: Después de obtener un token de integridad, puedes usarlo para realizar una llamada del servidor al servidor de Google Play y modificar uno o más de los valores. Tienes hasta 14 días para usar el token. Esto te permite modificar un valor si, por ejemplo, el abuso solo se evidencia en el período de dos semanas posterior a la primera verificación de integridad. Cuando modificas un valor, también se almacenan el mes y el año en que se realizó la modificación.

Requisitos previos y consideraciones para el retiro de dispositivos

La función de recuperación del dispositivo solo se puede usar para almacenar y recuperar información con el objetivo de proteger la seguridad de la app y mitigar el abuso, el fraude y el acceso no autorizado. No puedes usar la recuperación del dispositivo para crear huellas digitales ni hacer un seguimiento de usuarios o dispositivos individuales, y no puedes usar la recuperación del dispositivo para hacer un seguimiento de las características sensibles del usuario o del dispositivo, como el género, la edad o los datos de ubicación.

La recuperación de dispositivos tiene los siguientes requisitos previos:

  • La recuperación de dispositivos se puede usar en teléfonos, tablets, plegables, TVs, dispositivos Auto y Wear OS. En Wear, la función de llamada del dispositivo solo está disponible en dispositivos que se envían con Wear OS 5 o versiones posteriores. La recuperación del dispositivo no es compatible con los emuladores.
  • La recuperación del dispositivo requiere que se instalen y habiliten versiones recientes de Google Play Store y de los Servicios de Google Play en el dispositivo.
  • El retiro del dispositivo requiere que la cuenta de usuario tenga una licencia de Play. De lo contrario, no se evaluará el veredicto.

La retirada de dispositivos tiene las siguientes consideraciones de tiempo:

  • Después de verificar un token de integridad, tienes hasta 14 días para usarlo y almacenar datos personalizados de retiro del dispositivo.
  • La recuperación del dispositivo incluye marcas de tiempo para que puedas considerar los datos modificados recientemente como de mayor prioridad que los datos que se modificaron hace mucho tiempo. Considera ignorar o restablecer los datos después de un período lo suficientemente largo para tener en cuenta que los dispositivos pueden cambiar de propietario o reacondicionarse y revenderse.
  • Los bits de recuperación de un dispositivo se almacenarán durante 3 años después del último acceso de lectura o escritura.
  • Si necesitas borrar todos los datos asociados con un dispositivo, tu app puede restablecer los tres valores en ese dispositivo como "false". Esto restablecerá automáticamente las marcas de tiempo.

En el caso de los desarrolladores con varias apps y los desarrolladores que transfieren apps, el retiro de dispositivos funciona de la siguiente manera:

  • Todas las apps de tu cuenta de desarrollador de Google Play tienen acceso a los mismos tres valores por dispositivo. En otras palabras, si una de tus apps modifica uno de los valores, todas tus apps leerán el valor modificado cuando se instalen en el mismo dispositivo.
  • Si una app se transfiere de una cuenta de desarrollador a otra, el retiro del dispositivo reflejará los datos por dispositivo de la nueva cuenta de desarrollador, no los de la cuenta anterior.

Cómo activar el reconocimiento de dispositivo

Cuando tengas todo listo, activa el retiro de dispositivos en Play Console:

  1. Accede a tu cuenta de Play Console.
  2. Selecciona la app que usará la recuperación del dispositivo.
  3. En la sección Versión del menú de la izquierda, ve a Integridad de la app.
  4. Junto a la API de Play Integrity, haz clic en Configuración.
  5. En la sección Respuestas de la página, haz clic en Cambiar respuestas.
  6. Activa la Recuperación de dispositivos.
  7. Haz clic en Guardar cambios.

Cuando actives o desactives la recuperación del dispositivo, se borrarán todas las respuestas de prueba de la API de Play Integrity que hayas configurado en Play Console, y deberás volver a crearlas.

Leer los valores de recuperación del dispositivo

La recuperación del dispositivo funciona tanto en las solicitudes clásicas como en las estándar de la API de Play Integrity. En las solicitudes estándar, se actualiza la recuperación del dispositivo en la llamada de preparación. En otras palabras, después de modificar los datos por dispositivo, deberás realizar otro calentamiento para ver el valor actualizado. Una vez que se habilite la recuperación del dispositivo, podrás leer los valores de recuperación del dispositivo en los veredictos de integridad.

Cómo modificar los valores de recuperación del dispositivo

Puedes modificar los valores de retiro del dispositivo realizando una llamada a la API de servidor a servidor similar a la decodificación del veredicto de integridad. Si se establece un bit en true, también se actualizará su fecha de escritura (incluso si ya era true). Si se establece un bit en false, se restablecerá su fecha de escritura a vacío. Los bits que no se especifiquen en una solicitud permanecerán sin cambios. Hay un pequeño retraso de propagación entre la escritura de bits y la posibilidad de leerlos en el veredicto. Esta demora puede ser de hasta 30 segundos, aunque suele ser mucho menor. Las solicitudes de escritura de retiro de dispositivos deben ser menos frecuentes que las solicitudes de tokens de integridad. No se incluyen en la cuota de solicitudes de tokens de integridad, pero están sujetas a límites de frecuencia defensivos no públicos.

playintegrity.googleapis.com/v1/PACKAGE_NAME/deviceRecall:write -d \
'{
  "integrityToken": "INTEGRITY_TOKEN",
  "newValues": {
    "bitFirst": true,
    "bitThird": false
  }
}'
newValues.BitFirst = true // ForceSendFields optional for value true
newValues.BitSecond = false // ForceSendFields required for value false
newValues.BitThird = nil // do not set ForceSendFields for unspecified bits
newValues.ForceSendFields = []string{"BitSecond"}