Eu olhei em todos os lugares. Estamos usando um Motorola Zoom para fazer o teste do nosso tablet. O problema é que o Useragent Android é um Useragent geral e não há diferença entre o tablet Android e o Android móvel. Não quero ter como alvo apenas um dispositivo específico, como o Xoom Useragent, pois o Android provavelmente estará em vários tablets em um futuro próximo.
Estamos usando o Umbraco CMS e examinamos a solução 51Degrees.mobi e, no momento, isso não funcionará para as nossas necessidades. Talvez no futuro. Eu sei que a 51Degrees e algumas pessoas em Umbraco farão alguma integração em Umbraco, mas o projeto final provavelmente só será lançado em alguns meses.
Portanto, gostaríamos de detectar a string Useragent de um tablet Android e não direcioná-la para nosso site móvel como está atualmente.
Se alguém souber como detectar e Android Tablet em geral, não o dispositivo específico seria muito útil.
fonte
Respostas:
Isso está incorreto. Mobile Android tem a string "Mobile" no cabeçalho do agente do usuário. Tablet Android não.
Mas vale a pena mencionar que existem alguns tablets que relatam Safari "Mobile" no userAgent e este último não é a única / sólida forma de diferenciar entre Mobile e Tablet.
fonte
@Carlos: Em seu artigo Tim Bray recomenda isso (assim como outro post do Google ), mas infelizmente não está sendo aplicado por todos os fabricantes de tablets.
A maioria das strings de user agent de tablets Android que vi usa safari móvel, por exemplo, o Samsung Galaxy Tab:
Portanto, no momento estou verificando nomes de dispositivos para detectar tablets Android. Contanto que existam poucos modelos no mercado, tudo bem, mas logo essa será uma solução feia.
Pelo menos no caso do XOOM, a parte móvel parece ter sumido:
Mas como atualmente só existem tablets com Andorid 3.x, verificar no Android 3 seria suficiente.
fonte
É melhor também detectar o user-agent “móvel”
Detectando dispositivo Android via navegador
fonte
else if (userAgent.search("ipad") > -1) document.write("<b> iPad <br>") else if ((userAgent.search("iphone") > -1)||(userAgent.search("ipod") > -1)) document.write("<b> iPhone or iPod <br>")
Você pode experimentar este script, pois não deseja direcionar apenas o Xoom. Não tenho um Xoom, mas deve funcionar.
Criei um projeto no github. Confira - https://github.com/codefuze/js-mobile-tablet-redirect . Sinta-se à vontade para enviar problemas se houver algo errado!
fonte
Depois de detectar o Android no agente do usuário, é assim que faço a diferença entre navegadores de tablets e smartphones (usa Python, mas é igualmente simples para outras linguagens de programação):
ATUALIZADO: para refletir o uso do Chrome no Android, conforme comentários abaixo.
fonte
Com base nas sequências de agentes neste site:
Este resultado surgiu:
Primeiro:
Segundo:
Terceiro:
Se você puder detectar nível por nível, acho que o resultado é 90% verdadeiro. Como canais de dispositivos do SharePoint.
fonte
Aqui está o que eu uso:
fonte
Embora não possamos dizer se alguns tablets omitem "móvel", muitos, incluindo o Samsung Galaxy Tab, fazem têm celular em seu user-agent, tornando impossível detectar entre um tablet android e telefone android, sem recorrer a verificação especificidades modelo. Este IMHO é uma perda de tempo, a menos que você planeje atualizar e expandir sua lista de dispositivos mensalmente.
Infelizmente, a melhor solução aqui é reclamar com o Google sobre isso e fazer com que eles consertem o Chrome para Android para que ele adicione algum texto para identificar entre um dispositivo móvel e um tablet. Inferno, mesmo uma única letra M OU T em um local específico da string seria o suficiente, mas acho que faz muito sentido.
fonte
O Xoom tem a palavra Xoom no agente de usuário: Mozilla / 5.0 (Linux; U; Android 3.0.1; en-us; Xoom Build / HRI66) AppleWebKit / 534.13 (KHTML, como Gecko) Versão / 4.0 Safari / 534.13
Galaxy Tab tem "Mobile" no user-agent: Mozilla / 5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build / FROYO) AppleWebKit / 533.1 (KHTML, como Gecko) Versão / 4.0 Mobile Safari / 533.1
Portanto, é fácil detectar o Xoom, difícil detectar se uma versão específica do Android é móvel ou não.
fonte
A maioria dos tablets modernos executa o honeycomb também conhecido como 3.x Nenhum telefone executa o 3.x por padrão. A maioria dos tablets que atualmente executam 2.x tem menos capacidade e pode ser melhor quando apresentada a um site móvel de qualquer maneira. Eu sei que não é perfeito .. mas acho que é muito mais preciso do que a ausência de celular ..
fonte
Embora o Android móvel possa ter "móvel" em sua string de agente do usuário, e se estiver usando o Opera Mobile para Android em um tablet? Ele ainda terá "móvel" em sua string de agente do usuário, mas deve exibir sites do tamanho de um tablet. Você precisará testar "móvel" que não seja precedido por "ópera" em vez de apenas "móvel"
ou você pode simplesmente esquecer o Opera Mobile.
fonte
Eu recomendaria usar o Categorizr para detectar se o usuário está em um tablet. Você pode ver os resultados do teste categorizr aqui .
fonte
Se você usar a ausência de "Mobile", é quase correto. Mas há HTC Sensation 4G (4,3 polegadas com android 2.X) que não envia a palavra-chave Mobile.
A razão pela qual você pode querer tratá-lo separadamente é devido a
iframes
etc.fonte
O 51Degrees beta, 1.0.1.6 e a versão estável mais recente 1.0.2.2 (28/4/2011) agora têm a capacidade de farejar o tablet. Basicamente ao longo das linhas de:
Espero que isso ajude você.
fonte
Experimente o OpenDDR , é gratuito ao contrário da maioria das outras soluções mencionadas.
fonte