Mendeteksi Browser Mobile dengan PHP Oleh: Cecep Yusuf
Tutorial bagaimana cara supaya aplikasi web kita dapat mendeteksi secara otomatis dengan PHP apakah browser yang digunakan berbasis mobile atau bukan.
Selamat pagi sahabat Jaco :) Kali ini saya akan share bagaimana cara supaya aplikasi web kita dapat mendeteksi secara otomatis apakah browser yang digunakan berbasis mobile atau bukan. Pada dasarnya aplikasi web dibuat untuk browser pada PC, namun ternyata seiring perkembangan teknologi semakin ke sini semua aplikasi telah dibuat mobile, yaitu berada di atas platform yang dapat dibawa ke mana-mana baik aplikasi desktop/mobile maupun aplikasi berbasis web. Oleh karena itu, jika kita membuat sebuah aplikasi web kita harus memperhatikan target user, apakah user menggunakan perangkat mobile atau bukan, PC atau bukan. Dengan mengetahui target, kita dapat membuat layout dan kebutuhan fitur yang sesuai dengan perangkat tersebut. Misalnya saja Facebook, Facebook versi desktop dibuat full fitur, sedangkan Facebook versi mobile dibuat minim akan fitur. Atau contoh lain adalah detik.com, kompas.com, dan situs berita lainnya yang menggunakan versi mobile akan dibuat berbeda dengan versi aslinya (desktop). Faktanya, banyak web yang dibuat lebih simpel pada mobile dibandingkan desktop. Untuk itu, maka kita harus menambahkan kode untuk mengecek apakah browser yang user pakai itu perangkat mobile atau bukan. Ok kita langsung saja ke tutorial. ;) Function yang akan kita gunakan untuk deteksi metadata/information dari browser yang dipakai adalah function get_browser(), lengkapnya adalah: mixed get_browser ([ string $user_agent [, bool $return_array = false ]] ) Nilai yang dikembalikan adalah sebuah objek yang berisi properti2 berikut: stdClass Object { [browser_name_regex] => ^mozilla/5\.0 (x11; .*; .*linux.*; .*; rv:1\.9\..*) gecko/.* firefox/3\.5.*$ [browser_name_pattern] => Mozilla/5.0 (X11; *; *Linux*; *; rv:1.9.*) Gecko/* Firefox/3.5* [parent] => Firefox 3.5
[platform] => Linux [browser] => Firefox [version] => 3.5 [majorver] => 3 [minorver] => 5 [frames] => 1 [iframes] => 1 [tables] => 1 [cookies] => 1 [javaapplets] => 1 [javascript] => 1 [cssversion] => 3 [supportscss] => 1 [alpha] => [beta] => [win16] => [win32] => [win64] => [backgroundsounds] => [cdf] => [vbscript] => [activexcontrols] => [isbanned] => [ismobiledevice] => [issyndicationreader] => [crawler] => [aol] => [aolversion] => 0 } Namun, function tersebut dapat mengembalikan tipe array jika kita mengisi true pada parameter kedua ($return_array). Untuk cara pakainya yaitu: Jika kita memakai Firefox sebagai browser, maka browser akan menampilkan array sebagai berikut: Array { [browser_name_regex] => ^mozilla/5\.0 (x11; .*; .*linux.*; .*; rv:1\.9\..*) gecko/.* firefox/3\.5.*$ [browser_name_pattern] => Mozilla/5.0 (X11; *; *Linux*; *; rv:1.9.*) Gecko/* Firefox/3.5* [parent] => Firefox 3.5 [platform] => Linux
[browser] => Firefox [version] => 3.5 [majorver] => 3 [minorver] => 5 [frames] => 1 [iframes] => 1 [tables] => 1 [cookies] => 1 [javaapplets] => 1 [javascript] => 1 [cssversion] => 3 [supportscss] => 1 [alpha] => [beta] => [win16] => [win32] => [win64] => [backgroundsounds] => [cdf] => [vbscript] => [activexcontrols] => [isbanned] => [ismobiledevice] => [issyndicationreader] => [crawler] => [aol] => [aolversion] => 0 } Sekarang, untuk mendeteksi apakah browser yang digunakan adalah perangkat mobile atau bukan maka kita harus membuat suatu kondisi dengan if, kodenya sebagai berikut:
Selamat Datang di Jagocoding Versi Mobile
Selamat Datang di Jagocoding Versi Desktop
Contoh lain, kita sering melihat ketika kita membuka pada browser handphone maka URL biasanya dialihkan ke subdomain m.namasitus.com atau www.namasitus.com/m. Untuk membuat seperti itu, caranya simpel, kita gunakan redirect dengan menggunakan function header() bawaan dari PHP.
Tentang Penulis Cecep Yusuf Hi, my name is Cecep Yusuf. However, in the virtual world I am more likely to use the name Cheyuz, which is an abbreviation of two words "Cecep" and "Yusuf". I am founder of Jagocoding.com, u can view more of me in Cheyuz.com