desenv-web-rp.com

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

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 - 1 ano de avaliação pessoal, 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 - Código aberto, banco de dados derivado colaborativamente de AProf . 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!

8
syaz

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 desejar pode 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 do W3C. Nesse sentido, o 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 . Permite acessar o WURFL, DeviceAtlas (não 100% certo), Vocabulário principal do W3C DDR (e talvez AProf ). Dessa forma, você pode acessar as propriedades do dispositivo com uma API unificada, que também é oferecida como um serviço REST (consulte 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 em uma implementação de [Rails.

O que isso significa, na prática, é que você pode desenvolver seu aplicativo usando o 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í.

4
Guido

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 oferecer uma versão móvel otimizada para dispositivos com bons navegadores baseados em padrões, como telefones [Android _ _ telefones, iPhone/iPod Touch, etc.

Para fins práticos, os navegadores móveis "old school" estão inoperantes . Os dispositivos que as pessoas realmente usam a web móvel atualmente possuem navegadores excelentes e 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 player 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:

8
Taylor Edmiston

Verifique também Arquivo de banco de dados do dispositivo móvel (MDBF) da Microsoft. Mesmo que tenha parado de ser atualizado, pelo menos contém muitos anos de dispositivos até recentemente.

1
David d C e Freitas

Luca Passani, inventora da WURFL aqui. Minha empresa lançou recentemente este 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

1
Luca Passani