Detecção de telefone celular (marca, modelo, navegador etc.)

8

O que você usa para detectar o celular do visitante, até o modelo, se possível?

Atualmente, mantemos nosso próprio banco de dados, mas ele está realmente ficando para trás devido à falta de mão-de-obra para mantê-lo, por isso decidimos tentar uma solução de terceiros.

Estes são meus candidatos, mas não tenho tempo para realmente tentar todos:

  • DeviceAtlas - avaliação pessoal de 1 ano, mas a licença básica é acessível. Seu banco de dados parece sólido com atualização diária e testes / atualizações contribuídos pelo usuário. Eu estou favorecendo este no momento.

  • DetectRight - fui recomendado por um colega, mas realmente não consigo encontrar muito em seu site. Dispositivos de 20k - realmente?

  • WURFL - Banco de dados de código aberto, derivado de forma colaborativa do UAProf . Então, basicamente, se você optar pela solução UAProf, ficará melhor com o WURFL.

  • DetectMoBileBrowsers - Parece o mais simples de todos. Pena que depende da linguagem (PHP).

Por favor, compartilhe sua experiência ou sugestões!

syaz
fonte

Respostas:

4

OMG, você realmente está mantendo seu próprio banco de dados atualizado? Sinto muito por você ...

Primeira dica : se você só precisa de uma solução muito simples e mínima para detectar marca e modelo, vá com o WURFL se desejar de graça ou com o DeviceAtlas se puder pagar. O segundo funciona provavelmente melhor (apenas minha opinião pessoal).

Além disso, dê uma olhada nesta comparação DeviceAtlas vs WURFL

Segunda dica : Como regra geral, é uma boa ideia ficar atento aos padrões W3C. Nesse sentido, a API simples do DDR ( API simples do repositório de descrição do dispositivo ) é o caminho a percorrer. Ele descreve uma API abstrata para acessar os DDRs (Device Description Repositories).

Você pode encontrar uma implementação de referência de código aberto dessa API em Java como parte do projeto MyMobileWeb . Ele permite que você acesse o WURFL, DeviceAtlas (não 100% de certeza), o vocabulário principal do W3C DDR (e talvez o UAProf ). Dessa forma, você pode acessar as propriedades do dispositivo com uma API unificada, que também é oferecida como um serviço REST (consulte a documentação do serviço DDR REST ).

Você pode baixar a versão 1.2 mais recente. Eu sei que eles estão trabalhando em uma nova versão que provavelmente poderia ser lançada em outubro e uma implementação do Rails.

O que isso significa, na prática, é que você pode desenvolver seu aplicativo usando WURFL e depois mudar para outro repositório, mantendo seu código idealmente intocado. É mais difícil de instalar e usar pela primeira vez, mas se você estiver construindo um grande sistema corporativo, economizará muito tempo no futuro.

Devo dizer que já trabalhei nesse projeto, acho que vale a pena dar uma olhada em qualquer caso, apesar dos padrões do W3C serem difíceis de ler. Talvez haja outras implementações alternativas da API DDR Simple por aí.

Guido
fonte
Eu gosto da sua segunda dica, obrigado! Vou dar uma olhada quando tiver tempo.
syaz
8

Esta não é uma resposta direta, mas acredito que seja uma contribuição valiosa. É claro que a aplicabilidade depende de seus requisitos, mas acho que muitos leitores que desenvolvem para os consumidores acharão útil e relevante.

Para um grau tão bom, eu não.

Obviamente, a detecção de agente do usuário é excelente para fornecer uma versão móvel otimizada para dispositivos com bons navegadores baseados em padrões, como telefones Android, iPhone / iPod Touch, etc.

Para fins práticos, os navegadores móveis "old school" estão inoperantes . Os dispositivos em que as pessoas realmente usam a Web móvel atualmente têm ótimos navegadores capazes: WebKit, Opera e Firefox Mobile. A RIM acaba de anunciar um navegador WebKit embutido, e eu sinto que eles são o último grande jogador a fazer a migração.

Presumi que seu objetivo é simplesmente redirecionar para um site para celular. Se for mais complexo, por exemplo, registrar números de modelo individuais ou rastrear estatísticas detalhadas, essas postagens do Stack Overflow devem ser úteis:

Taylor Edmiston
fonte
Bem, quando o que eu faço são apenas sites para celular ... Eu tenho que saber o detalhamento dos modelos, etc., para saber onde priorizar.
syaz
1

Verifique também o MDBF (Mobile Device Database File) da Microsoft. Embora tenha parado de ser atualizado, pelo menos contém muitos anos de dispositivos até recentemente.

David d C e Freitas
fonte
1

Luca Passani, inventora da WURFL aqui. Minha empresa lançou recentemente esse serviço, que praticamente soluciona o problema discutido aqui gratuitamente. Aconselho que você verifique http://wurfl.io/

Em poucas palavras, se você importar um pequeno arquivo JS:

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>

você ficará com um objeto JSON que se parece com:

{
 "complete_device_name":"Google Nexus 7",
 "is_mobile":true,
 "form_factor":"Tablet"
}

(supondo que você esteja usando um Nexus 7, é claro) e poderá fazer coisas como:

if(WURFL.form_factor == "Tablet"){
    //dostuff();
}

Ou

modelName = WURFL.complete_device_name 

Isto é o que você está procurando.

obrigado

Luca Passani
fonte