Tips Php : Mendeteksi Browser Mobile dengan PHP

Posted by love your self first On Sabtu, 08 Desember 2012 5 komentar
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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:
1
2
3
4
<?php
$browser = get_browser(null, true);
print_r($browser);
?>
Jika kita memakai Firefox sebagai browser, maka browser akan menampilkan array sebagai berikut:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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:
1
2
3
4
5
6
7
8
9
10
<?php
 
$browser = get_browser(null, true);
if ($browser['ismobiledevice'])
{
    //isi kode di sini jika mobile
} else
{
    //isi kode di sini jika desktop
}
Sebagai contoh, kita menginginkan aplikasi mengucapkan ucapan selamat datang pada website kita, lihat kode berikut:
1
2
3
4
5
6
<?php $browser = get_browser(null, true); ?>
<?php if ($browser['ismobiledevice']): ?>
    <h2>Selamat Datang di Jagocoding Versi Mobile</h2>
<?php else: ?>
    <h2>Selamat Datang di Jagocoding Versi Desktop</h2>
<?php endif; ?>
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.
1
2
3
4
5
<?php
 
$browser = get_browser(null, true);
if ($browser['ismobiledevice'])
    header('Location: http://m.namasitus.com/'); //atau header('Location: http://www.namasitus.com/m'); terserah :D
Tutorial selesai, singkat ya? hehe..

ARTIKEL TERKAIT:

5 komentar:

Nugi mengatakan...

BLOG SOBAT UDAH ANE FOLLOW YG KE 2
ANE TUNGGU FOLLBACK NYA
>>http://munsypedia.blogspot.com/

Info Cetar mengatakan...

Cetar! Banget Deh Infonya ...

Kunjungan baliknya selalu saya tunggu, dan jangan lupa untuk menambahkan saya kedalam lingkaran G+ anda, terima kasih...

love your self first mengatakan...

tq masbroo

manfaat bangun pagi mengatakan...

kebanyakan visitor unique biasanya via mobile mas

Rumah Code mengatakan...

terimakasih tutorial nya, sangat membantu

Posting Komentar