Szukałem wszędzie. Używamy Motorola Zoom, aby wypróbować naszą witrynę internetową dla tabletów. Problem polega na tym, że Android Useragent jest ogólnym Useragentem i nie ma różnicy między Androidem tabletu a Androidem mobilnym. Nie chcę tylko kierować reklamy na określone urządzenie, takie jak Xoom Useragent, ponieważ Android najprawdopodobniej będzie w najbliższej przyszłości na wielu tabletach.
Używamy Umbraco CMS i patrzyliśmy na użycie rozwiązania 51Degrees.mobi, i w tej chwili nie będzie to działać dla naszych potrzeb. Może w przyszłości. Wiem, że 51Degrees i niektórzy ludzie w Umbraco zamierzają przeprowadzić integrację z Umbraco, ale ostateczny projekt prawdopodobnie nie będzie dostępny przez kilka miesięcy.
Dlatego chcielibyśmy wykryć ciąg Useragent tabletu z Androidem i nie kierować go do naszej witryny mobilnej, jak to jest obecnie.
Jeśli ktoś wie, jak wykryć i ogólnie tablet z Androidem, nie konkretne urządzenie byłoby bardzo pomocne.
źródło
Odpowiedzi:
To jest niepoprawne. Mobilny system Android ma ciąg „Mobile” w nagłówku User-Agent. Tablet z Androidem nie.
Ale warto wspomnieć , że istnieje sporo tabletek, że raport „Mobile” Safari w userAgent a ten ostatni nie jest jedynym / ciało stałe sposobem odróżnienia między komórki i tablety.
źródło
@Carlos: W swoim artykule Tim Bray zaleca to (podobnie jak inny post Google ), ale niestety nie jest to stosowane przez wszystkich producentów tabletów.
Większość ciągów agentów użytkownika tabletów z Androidem, które widziałem, używa mobilnego safari, np. Samsung Galaxy Tab:
W tej chwili sprawdzam nazwy urządzeń, aby wykryć tablety z Androidem. Tak długo, jak na rynku jest tylko kilka modeli, to jest w porządku, ale wkrótce będzie to brzydkie rozwiązanie.
Przynajmniej w przypadku XOOM wydaje się, że część mobilna zniknęła:
Ale ponieważ obecnie istnieją tylko tablety z Andoridem 3.x, wystarczy sprawdzić system Android 3.
źródło
Lepiej też wykryć „mobilnego” klienta użytkownika
Wykrywanie urządzenia z systemem Android za pomocą przeglądarki
źródło
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>")
Możesz wypróbować ten skrypt, ponieważ nie chcesz kierować tylko na Xoom. Nie mam Xoom, ale powinno działać.
Stworzyłem projekt na githubie. Sprawdź to - https://github.com/codefuze/js-mobile-tablet-redirect . Jeśli coś jest nie tak, możesz zgłaszać problemy!
źródło
Po wykryciu Androida w kliencie użytkownika rozróżniam przeglądarki tabletów i smartfonów (jest to Python, ale jest podobnie proste w przypadku innych języków programowania):
AKTUALIZACJA: aby odzwierciedlić korzystanie z Chrome na Androidzie, zgodnie z komentarzami poniżej.
źródło
Na podstawie ciągów agentów w tej witrynie:
Oto wyniki:
Po pierwsze:
Druga:
Trzeci:
Jeśli potrafisz wykryć poziom po poziomie, wydaje mi się, że wynik jest prawdziwy w 90%. Podobnie jak kanały urządzeń SharePoint.
źródło
Oto czego używam:
źródło
Chociaż nie możemy powiedzieć, czy niektóre tablety pomijają „telefon komórkowy”, wiele z nich, w tym Samsung Galaxy Tab , ma telefon komórkowy w swoim kliencie użytkownika, co uniemożliwia wykrycie między tabletem z Androidem a telefonem z Androidem bez konieczności sprawdzania szczegółów modelu. To IMHO to strata czasu, chyba że planujesz aktualizować i rozszerzać listę urządzeń co miesiąc.
Niestety najlepszym rozwiązaniem jest złożenie skargi do Google i nakłonienie ich do naprawy Chrome dla Androida, aby dodać tekst do identyfikacji między urządzeniem mobilnym a tabletem. Do diabła, wystarczyłaby nawet jedna litera M LUB T w określonym miejscu w ciągu, ale myślę, że to ma zbyt duży sens.
źródło
Xoom ma słowo Xoom w user-agent: Mozilla / 5.0 (Linux; U; Android 3.0.1; en-us; Xoom Build / HRI66) AppleWebKit / 534.13 (KHTML, jak Gecko) Version / 4.0 Safari / 534.13
Galaxy Tab ma „Mobile” w kliencie użytkownika: Mozilla / 5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build / FROYO) AppleWebKit / 533.1 (KHTML, jak Gecko) Version / 4.0 Mobile Safari / 533.1
Tak więc łatwo jest wykryć Xoom, trudne do wykrycia, czy określona wersja Androida jest mobilna, czy nie.
źródło
Większość nowoczesnych tabletów działa domyślnie na plaster miodu, czyli w wersji 3.x. Żaden telefon nie obsługuje domyślnie wersji 3.x. Większość tabletów, które obecnie działają w wersji 2.x, ma mniejszą pojemność i mimo to może być lepsza, gdy zostanie wyświetlona strona mobilna. Wiem, że to nie jest bezbłędne ... ale wydaje mi się, że jest o wiele dokładniejsze niż brak telefonu komórkowego ...
źródło
Chociaż Mobile Android może mieć słowo „mobile” w swoim ciągu klienta użytkownika, co zrobić, jeśli używa Opera Mobile dla Androida na tablecie? Nadal będzie zawierał słowo „mobile” w swoim ciągu klienta użytkownika, ale powinien wyświetlać witryny wielkości tabletu. Musisz przetestować pod kątem „urządzenia przenośnego”, które nie jest poprzedzone słowem „opera”, a nie tylko „telefon komórkowy”
lub możesz po prostu zapomnieć o Operze Mobile.
źródło
Polecam użycie Categorizr do wykrywania, czy użytkownik korzysta z tabletu. Możesz wyświetlić wyniki testu Categorizr tutaj .
źródło
Jeśli używasz braku „Mobile”, to jest prawie poprawne. Ale są HTC Sensation 4G (4,3 cala z Androidem 2.X), który nie wysyła słowa kluczowego Mobile.
Powodem, dla którego możesz chcieć traktować go osobno, jest
iframes
itp.źródło
51Degrees beta, 1.0.1.6 i najnowsza stabilna wersja 1.0.2.2 (28.04.2011) mają teraz możliwość wykrywania tabletu. Zasadniczo na wzór:
Mam nadzieję, że to ci pomoże.
źródło
Wypróbuj OpenDDR , jest darmowy w przeciwieństwie do większości innych wymienionych rozwiązań.
źródło