Voltar ao blog

Como fazer um ambiente móvel simulado parecer um aparelho real? Não ignore os detalhes da impressão digital do dispositivo e da mídia

Ao simular logins móveis de contas de redes sociais com ambientes de navegador, o realismo costuma depender de muitos detalhes de dispositivo pouco visíveis. Este artigo explica por que impressões digitais móveis como nome do dispositivo, dispositivos de mídia e sensores são importantes e quais parâmetros devem ser alinhados com um telefone real.

Se você trabalha com operações móveis — gerenciando contas de redes sociais que fazem login pelo celular ou realizando tarefas em apps e sites móveis — provavelmente já tentou “simular um ambiente de smartphone no computador”. Mas muita gente se depara com a mesma dúvida: mesmo com o kernel e o sistema configurados como Android, por que o ambiente ainda parece suspeito assim que é testado, ou por que contas diferentes não parecem pertencer à mesma categoria de aparelho real?

A resposta muitas vezes não está nos parâmetros mais óbvios, e sim em vários detalhes de dispositivo específicos do celular. A aparência de realidade nunca depende de uma única configuração. Ela surge quando cada pequeno detalhe se aproxima o máximo possível de um aparelho real e todos eles formam um conjunto coerente.

Por que ambientes móveis se expõem com mais facilidade do que ambientes desktop

Ao simular um ambiente desktop, os sinais que precisam ser considerados são relativamente estáveis. Em celulares é diferente. Além do sistema, da resolução e do UA, um smartphone real expõe continuamente uma série de sinais específicos daquele aparelho, que em conjunto formam sua identidade:

  • Nome do dispositivo e informações do modelo: nome do aparelho, fabricante, identificadores de hardware e outros dados podem ajudar uma plataforma a inferir qual modelo de telefone está sendo usado.
  • Informações de dispositivos de mídia: nomes, quantidade e disponibilidade de câmeras e microfones. Um telefone real geralmente expõe uma ou mais câmeras e microfones; um “ambiente móvel” sem dispositivos de mídia ou com dispositivos claramente típicos de desktop parece pouco natural.
  • Características de tela e interação: resolução, proporção da tela, suporte a toque, orientação padrão e outros atributos diferem claramente entre dispositivos móveis e desktop.
  • Recursos de sensores: sensores de movimento como giroscópio e acelerômetro detectam rotação e inclinação do aparelho, e páginas web podem ler dados relacionados por interfaces do navegador. Essas leituras costumam apresentar pequenas diferenças de calibração específicas de cada dispositivo, estáveis e únicas o suficiente para servirem como sinais de identificação. Dados vazios, ou vários ambientes retornando exatamente os mesmos valores, podem chamar atenção.

O ponto principal é que esses sinais são coletados de forma independente, mas precisam ser coerentes entre si como um todo. Se o sistema, o idioma, o fuso horário e a região apontam para um país, mas os dispositivos de mídia e o nome do aparelho ainda parecem de um computador desktop, a verificação cruzada pode revelar a contradição.

A autenticidade de um ambiente móvel depende da coerência entre o kernel do sistema, a tela do dispositivo, os sensores de mídia e a rede regional

Parâmetros que devem ser alinhados ao simular um ambiente móvel

Para reduzir o risco de um “ambiente móvel” não parecer um telefone real, vale verificar a consistência das seguintes categorias ao criar o ambiente:

  • O sistema operacional e o kernel devem corresponder à versão móvel. Se o sistema estiver definido como Android ou iOS, a versão do kernel também deve ser compatível com a usada por um navegador móvel, em vez de colocar um kernel de desktop por trás de um UA móvel.
  • Mantenha UA, idioma, fuso horário e geolocalização consistentes. Esses valores devem acompanhar o mercado-alvo e a região do dispositivo e, de preferência, corresponder à região do IP utilizado, evitando contradições óbvias como “o telefone está em Los Angeles, mas o fuso horário é de Pequim”.
  • Os sinais de dispositivo e mídia devem “parecer de um telefone”. Nome do aparelho, resolução, suporte a toque, informações de câmera e microfone e outros sinais de mídia devem refletir um smartphone real, e não uma configuração de desktop.
  • Ambientes diferentes devem ser diferentes entre si. Se você opera várias contas móveis ao mesmo tempo, evite que todas compartilhem exatamente os mesmos parâmetros de dispositivo. Telefones reais naturalmente apresentam diferenças; vários ambientes com informações idênticas podem se tornar justamente um sinal típico de vinculação entre contas.

Use o PurpleMark para gerenciar de forma consistente os detalhes do dispositivo móvel

O PurpleMark consegue gerenciar diretamente esses parâmetros específicos de dispositivos móveis ao criar um ambiente de navegador. Nas configurações do ambiente, é possível escolher o sistema operacional e a versão do kernel. Assim, ao criar um ambiente de conta, você pode definir Android ou iOS junto com um kernel de navegador móvel correspondente, em vez de apenas alterar a string UA para fingir que é um telefone.

Na camada de dispositivo e mídia, o PurpleMark permite configurar o nome do aparelho, dispositivos de mídia como câmeras e microfones, resolução e informações de hardware como CPU, memória e endereço MAC. Por exemplo, se você precisa simular “um determinado modelo Android nos Estados Unidos entrando em uma rede social”, é possível configurar no mesmo ambiente o sistema, o kernel, o idioma regional, o fuso horário e os parâmetros de dispositivo e mídia como um conjunto coerente, em vez de alterar um campo e deixar outros com valores padrão de desktop.

Ao operar várias contas móveis, você também pode criar ambientes separados por plataforma, loja ou região de negócio. Cada ambiente pode usar sua própria combinação de parâmetros de dispositivo e mídia, Cookie e dados locais independentes e ser localizado rapidamente por grupos e contas vinculadas. Isso ajuda a evitar que várias contas móveis compartilhem a mesma “sombra de dispositivo”.

Para quem está começando, basta abrir o PurpleMark na web, criar um ambiente com sistema móvel e configurar nome do dispositivo, dispositivos de mídia, fuso horário, idioma e outros parâmetros que mais afetam a consistência. Assim, fica fácil perceber a diferença entre um ambiente móvel coerente e uma configuração desktop apenas disfarçada de telefone. Se precisar de recursos do navegador local, acesse a página de download, instale o cliente e depois retorne ao espaço de trabalho.

Perguntas frequentes

Ao simular um telefone, basta alterar o UA para o de um modelo móvel? Não. O UA é apenas um dos muitos sinais que uma plataforma consegue observar. Se sistema, kernel, nome do dispositivo, dispositivos de mídia, resolução, fuso horário e outras dimensões ainda parecerem de desktop, uma verificação cruzada pode revelar as inconsistências com mais facilidade. Um ambiente móvel deve começar pelo sistema e pelo kernel e manter coerentes, como um todo, os parâmetros relacionados ao dispositivo.

Várias contas móveis podem usar o mesmo conjunto de parâmetros de dispositivo? Não é recomendável. Se contas diferentes compartilharem exatamente os mesmos sinais de dispositivo, mídia e sensores, isso pode se tornar um padrão típico de vinculação de contas. Dispositivos reais naturalmente têm diferenças, por isso é mais seguro que cada ambiente de conta mantenha sua própria combinação independente, mas internamente coerente.

Qual é o impacto de configurar mal os detalhes do dispositivo? Esses detalhes influenciam se o ambiente parece ou não um dispositivo real do ponto de vista da plataforma. Um único detalhe ausente talvez não seja suficiente para uma conclusão, mas vários sinais anormais ou contraditórios podem aumentar significativamente a chance de identificação. Gerenciar esses parâmetros de maneira centralizada e coerente é uma medida básica para reduzir esse risco.