[PHP] Jak wykryć czy ktoś ogląda Twoją stronę za pomocą komórki?
Tematem tego artykułu jest wykrywanie urządzeń mobilnych przez mechanizm na którym oparta jest strona WWW.
Pewnie nie raz się zastanawiałeś/aś nad tym w jaki sposób wykryć czy użytkownik, który odwiedził Twoją stronę korzystał na przykład z komórki? Można to sprawdzić za pomocą języka PHP i dzięki temu, można zmienić strukturę strony odpowiednio dla każdego typu urządzenia mobilnego. Lecz trzeba pamiętać i kilku rzeczach.
- Ta technika polega na zawartości ukrytych w UserAgent. Przez co, ta technika może nie działać na przeglądarkach podszywających się pod inne, na przykład część przeglądarek internetowych zainstalowanych w urządzeniach mobilnych udaje Internet Explorera.
- Operatorzy komórkowi mogą zmienić zawartość UserAgenta podczas dostosowywania urządzenia do ich sieci. Czasami też operatorzy mogą zmienić zawartość UserAgenta podczas przeglądania strony WWW poprzez ich sieć internetową.
- Zawartość UserAgenta może się zmieniać w czasie. Dlatego też, należy monitorować kod pod kątem obsługi najbardziej pożądanych urządzeń mobilnych, których listę zdefiniuje administrator strony WWW.
Do tego celu będziemy wykorzystywać klasę PHP stworzoną przez Anthonego Handa o nazwie uagent_info.
Przykład wykorzystania tej klasy
Na początek, należy stworzyć obiekt tej klasy, a następnie wywoływać do niej funkcje. Detektor urządzeń mobilnych zwraca wartości 1 lub 0 w zależności od tego czy wykryje dany typ urządzenia mobilnego.
Oto przykład:
//Tworzymy obiekt klasy uagent_info $obiekt = new uagent_info(); //Spróbujmy wykryć iPhone'a //Poniższa metoda (funkcja) zwróci 1 lub 0 $iPhone = $obiekt->DetectIphone(); //Zrób coś print(" Masz iPhone'a: ".$iPhone." "); //Możesz też wypisać do okna przeglądarki zawartość UserAgenta $agent = $obiekt->Get_Uagent(); print(" Zawartość UserAgenta to: ".$agent." "); //Poniższa metoda wykryje czy używasz iPhone'a lub iPod Touch //$obiekt->DetectIphoneOrIpod()); //Natomiast ta wykryje czy używasz Androida lub przeglądarki typu WebKit //$obiekt->DetectAndroidWebKit(); //Z kolei ta metoda wykryje czy komórka bazuje na Symbianie. Wykryje ona wszystkie wersje Symbiana począwszy od S60 //$obiekt->DetectSymbianOS(); //Wykrywanie Windows Mobile //$obiekt->DetectWindowsMobile(); //Wykrywanie konsol do gier //$obiekt->DetectGameConsole(); //Wykrywanie komórek ogółem //$obiekt->DetectMobileQuick(); |
Mam nadzieję, że ten przegląd możliwości klasy uagent_info pozwoli Tobie na tworzenie dedykowanych wersji Twojej strony WWW dla urządzeń mobilnych.