Detectar abuso repetido usando o recall do dispositivo (Beta)

Nesta página, descrevemos como usar a recuperação de dispositivo para armazenar e recuperar dados personalizados com dispositivos específicos. Você pode recuperar os dados personalizados de novo mais tarde quando o app for instalado no mesmo dispositivo, mesmo após a redefinição dele. Isso permite detectar e impedir que um dispositivo seja reutilizado com base em uma ação ou comportamento especificado, preservando a privacidade do usuário.

Como funciona o recall de dispositivos?

A capacidade de recuperação de dispositivos permite que os apps armazenem e recuperem dados personalizados associados a um dispositivo específico de uma forma que preserva a privacidade do usuário. Os dados são armazenados nos servidores do Google, permitindo que o app recupere de forma confiável seus dados personalizados, mesmo após a reinstalação do app ou a redefinição do dispositivo. Por exemplo, você pode usar o recurso para recuperar dispositivos em que encontrou evidências de abuso grave, dispositivos que já resgataram itens de alto valor (como um teste sem custo financeiro) ou dispositivos que estão sendo usados repetidamente para criar novas contas com fins abusivos. O reconhecimento do dispositivo preserva a privacidade do usuário porque o app solicitante só pode recuperar os dados limitados associados aos dispositivos, sem acessar identificadores de dispositivo ou usuário. Depois de ativar a função, você pode fazer o seguinte:

  • Ler dados por dispositivo: é possível ler três valores personalizados ou bits para cada dispositivo ao receber um veredito de integridade. Você pode definir seu próprio significado para esses valores. Por exemplo, é possível tratar os valores como três flags separadas ou combiná-los para representar oito rótulos personalizados.
  • Modificar dados por dispositivo: depois de receber um token de integridade, use-o para fazer uma chamada do lado do servidor para o servidor do Google Play e modificar um ou mais valores. Você tem até 14 dias para usar o token. Isso permite modificar um valor se, por exemplo, o abuso só ficar evidente no período de duas semanas após a primeira verificação de integridade. Quando você modifica um valor, o mês e o ano em que a modificação foi feita também são armazenados.

Pré-requisitos e considerações para o recall de dispositivos

O recall de dispositivo só pode ser usado para armazenar e recuperar informações para proteger a segurança do app e mitigar abusos, fraudes e acesso não autorizado. Não é permitido usar a recuperação de dispositivo para coletar impressões digitais ou rastrear usuários ou dispositivos individuais, nem para acompanhar características sensíveis de usuários ou dispositivos, como gênero, idade ou dados de localização.

A recuperação de dispositivo tem os seguintes pré-requisitos:

  • A função "Recordar dispositivo" pode ser usada em smartphones, tablets, dobráveis, TVs, Auto e Wear OS. No Wear, o recurso de recall de dispositivo só está disponível em dispositivos com o Wear OS 5 ou mais recente. A recuperação de dispositivos não é compatível com emuladores.
  • O recurso de recall de dispositivo exige que versões recentes da Google Play Store e do Google Play Services estejam instaladas e ativadas no dispositivo.
  • A recuperação de dispositivos exige que a conta de usuário seja licenciada pelo Google Play. Caso contrário, o veredito não será avaliado.

A revogação de dispositivos tem as seguintes considerações de tempo:

  • Depois de verificar um token de integridade, você tem até 14 dias para usá-lo e armazenar dados personalizados de recall de dispositivo.
  • A recuperação de dispositivos inclui carimbos de data/hora para que você possa considerar dados modificados recentemente como de maior prioridade do que dados modificados há muito tempo. Considere ignorar ou redefinir os dados após um período longo o suficiente para levar em conta que os dispositivos podem mudar de mãos ou ser recondicionados e revendidos.
  • Os bits de recall de um dispositivo serão armazenados por três anos após o último acesso de leitura ou gravação.
  • Se você precisar excluir todos os dados associados a um dispositivo, seu app poderá redefinir todos os três valores desse dispositivo como "false". Isso vai redefinir automaticamente os carimbos de data/hora.

Para desenvolvedores com vários apps e desenvolvedores que estão transferindo apps, a revogação de dispositivos funciona da seguinte maneira:

  • Todos os apps na sua conta de desenvolvedor do Google Play têm acesso aos mesmos três valores por dispositivo. Em outras palavras, se um dos seus apps modificar um dos valores, todos os apps vão ler o valor modificado quando forem instalados no mesmo dispositivo.
  • Se um app for transferido de uma conta de desenvolvedor para outra, a revogação de dispositivo vai refletir os dados por dispositivo da nova conta, não da antiga.

Ativar o reconhecimento do dispositivo

Quando estiver tudo pronto, ative o recurso de recall de dispositivos no Play Console:

  1. Faça login no Play Console.
  2. Selecione o app que vai usar a recordação de dispositivo.
  3. Na seção Versão do menu à esquerda, acesse Integridade do app.
  4. Ao lado da API Play Integrity, clique em Configurações.
  5. Na seção "Respostas" da página, clique em Mudar respostas.
  6. Ative a Recuperação de dispositivo.
  7. Clique em "Salvar alterações".

Quando você ativa ou desativa a recuperação de dispositivo, todas as respostas do teste da API Play Integrity que você configurou no Play Console são excluídas, e é necessário criar essas respostas novamente.

Ler valores de reconhecimento do dispositivo

O reconhecimento do dispositivo funciona nas solicitações clássicas e padrão da API Play Integrity. Em solicitações padrão, a recuperação do dispositivo é atualizada na chamada de aquecimento. Em outras palavras, depois de modificar os dados por dispositivo, você precisará realizar outro aquecimento para ver o valor atualizado. Depois que a recuperação de dados do dispositivo for ativada, você poderá ler os valores de recuperação de dados do dispositivo nos veredictos de integridade.

Modificar valores de recall de dispositivo

É possível modificar os valores de recall do dispositivo fazendo uma chamada de API de servidor para servidor semelhante a decodificar o veredito de integridade. Definir um bit como true também atualiza a data de gravação dele, mesmo que já seja true. Definir um bit como false redefine a data de gravação como vazia. Os bits não especificados em uma solicitação permanecem inalterados. Há um pequeno atraso de propagação entre a gravação de bits e a leitura deles no veredicto. Esse atraso pode levar até 30 segundos, mas geralmente é muito menor. As solicitações de gravação de recall de dispositivo precisam ser menos frequentes do que as solicitações de token de integridade. Elas não são contabilizadas na sua cota de solicitações de token de integridade, mas estão sujeitas a limites de taxa defensivos e não 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"}