NimbusX
00
› página carregada
← blog
celular15.07.20267 minutos

Perfis móveis sem um celular

Um perfil Android roda em um computador comum e recebe o veredito Trustworthy do iphey. A lição, aprendida da forma mais cara, foi não atribuir o hardware do telefone manualmente. Resta uma limitação da janela desktop, mostrada de forma aberta.

01Como ativar

Crie um perfil móvel com a opção:

$ python -m app.cli profile create \ --name mobile-01 --platform android

O motor seleciona uma identidade móvel coerente, incluindo modelo, chipset, tela e memória. O modelo é informado em uaData.model, que é o valor lido pelos detectores. A suíte marca 100 de 100 e o iphey retorna Trustworthy; não é necessário ter um telefone físico.

02A lista de modelos que decidimos remover

A primeira versão atribuía o hardware do telefone usando nossa própria lista de modelos. A lista combinou um Pixel 7 com chipset de Redmi. Um chipset incorreto bastou para o iphey retornar Unreliable: os detectores conhecem as combinações reais de modelo e chipset melhor que qualquer catálogo mantido manualmente.

Removemos por completo a lista de modelos mantida à mão. O motor passou a escolher a identidade móvel, e um teste de regressão dedicado impede que o erro antigo volte: o NimbusX não impõe hardware a essa identidade. A lição vai além dos perfis móveis. A coerência interna importa mais que o controle manual de cada valor.

03Sinais medidos entre os perfis

Três perfis móveis criados em sequência em uma máquina limpa:

SuperfícieResultado
Fontes exclusivas do Windowsnenhuma exposta; as treze verificações passaram
Placa de vídeodiferente em cada perfil
Tela informadadiferente em cada perfil
Canvasdiferente em cada perfil
Número de processadores lógicosoito em todos os perfis, como nos telefones de referência

As fontes são a verificação mais clara. Se uma página recebesse Calibri ou Segoe UI de um perfil que se apresenta como Pixel, a contradição seria imediata: essas fontes não vêm com Android. Testamos treze fontes instaladas apenas pelo Windows ou Microsoft Office, e o perfil não expôs nenhuma delas.

04O limite da janela desktop

O viewport de layout do perfil móvel é mais largo que a tela informada. O motor altera screen e outerWidth, mas o navegador ainda roda em uma janela real do sistema desktop. O perfil informa 360×800 enquanto o viewport de layout fica em 500×731. Testamos as seguintes alternativas:

AlternativaLargura do viewport de layout
sem ajuste500
janela 412×915500
janela 300×600500
escala de renderização 1,27510
modo headless478

O limite é a largura mínima da janela do Chrome no desktop, cerca de 500 pixels CSS. Telefones não usam um viewport tão largo, portanto a diferença não pode ser eliminada enquanto o navegador rodar em uma janela desktop. Falsificar innerWidth sem alterar o layout real não funciona. A primeira media query revelaria a largura verdadeira e criaria dois valores contraditórios em vez de um.

O que foi possível melhorar: depois da abertura, o NimbusX ajusta a janela à altura informada pela página e o CreepJS deixou de destacar a seção Screen. A diferença de largura que permanece aparece no painel: a célula WIN fica apagada e a explicação aparece abaixo da tabela. Não faria sentido esconder, pois o site vê a diferença antes do usuário.

05Leia mais

Coerência importa mais que volume · Como os detectores relacionam perfis

Baixar NimbusXPergunta técnica: @Get_NimbusX_Bot