Script PHP (User Agent) : Mengetahui atau Mendeteksi Merk HP yang Digunakan oleh Pengunjung Website Kita dengan PHP


Free SMS
Pada dasarnya setiap blog sudah dilengkapi dengan fasilitas blog versi mobile. seperti Blog saya ini telah dilengkapi dengan tampilan mobile friendly bagi pengunjung setia yang sering mengakses via handphone. Secara otomatis blog ini akan mengarahkan (redirecting) tampilan ke mode mobile friendly bila sedang diakses via handphone. Bila Anda perhatikan, tampilan blog dalam mode mobile friendly ini lebih sederhana dibandingkan tampilan sebenarnya. Anda bisa lihat seperti apa tampilan blog ini via handphone. Dengan mode mobile friendly ini, file size yang diakses via handphone akan lebih kecil sehingga pulsa yang diperlukan untuk akses internet juga sedikit. Konsep yang sama juga diterapkan oleh Detik.com.
Contoh lain, pernahkah Anda mengunjungi situs waptrik.com? Situs tersebut menyediakan free software aplikasi handphone Anda. Apabila Anda mencoba mengunjungi situs tersebut via browser di komputer Anda, maka situs tersebut tidak bisa diakses. Mengapa? karena situs tersebut hanya bisa diakses oleh handphone saja. Hebatnya lagi.. begitu Anda akses situs tersebut dengan handphone, maka secara otomatis akan muncul list software-software yang kompatible terhadap handphone Anda. Sebagai contoh misalkan Anda menggunakan Nokia, maka akan muncul list software yang support dengan Nokia, dst.
Nah.. yang menjadi pertanyaan, bagaimana cara mendeteksi bahwa seorang pengunjung situs kita atau secara umum pengakses script yang kita taruh ke dalam server hosting itu menggunakan handphone atau tidak? atau kalau perlu kita bisa mendeteksi merek handphone yang sedang digunakan visitor. Konsep ini nantinya kita gunakan untuk membuat konten mobile. Pertanyaan tersebut dapat terjawab dengan membaca user agent dari visitor.

Apa itu user agent? user agent adalah suatu aplikasi di sisi client (pengakses) yang secara otomatis mengirim informasi berupa string kepada server pada layanan web. String informasi ini bisa berisi OS yang digunakan, software vendor browsernya, versi software dll.
Salah satu bentuk string informasi user agent adalah sbb:


1.Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8

Dari string di atas tampak informasi bahwa terdapat client yang sedang mengakses menggunakan OS Windows, dan menggunakan Firefox sebagai browsernya, serta versinya yaitu 3.5.8.
Nah… lantas bagaimana bentuk string user agent yang berasal dari handphone? ini dia contohnya untuk Nokia N90

1.NokiaN90-1/5.0607.7.3 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1

Anda bisa lihat bentuk-bentuk user agent untuk jenis handphone yang lain di Wikipedia.
Dari keterangan di atas tampak bahwa untuk handphone, di dalam user agent nya terdapat informasi jenis handphone serta serinya. Dengan demikian kita tinggal olah user agent tersebut untuk membangun konten mobile seperti yang diharapkan.
OK.. sekarang bagaimana cara membaca user agent dengan PHP? Caranya sangat mudah, yaitu dengan menggunakan perintah $_SERVER['HTTP_USER_AGENT']
Berikut ini contoh script PHP untuk mendeteksi merek handphone apa yang sedang digunakan user untuk mengakses script.

01.<?php
02. 
03.$listMerk = array('Nokia', 'iPhone', 'iPod', 'BlackBerry', 'HTC', 'LG', 'Nokia', 'Samsung', 'SonyEricsson');
04. 
05.$agent = $_SERVER['HTTP_USER_AGENT'];
06. 
07.foreach ($listMerk as $merk)
08.{
09.$count = substr_count($agent, $merk);
10.if ($count > 0) $merkDigunakan = $merk;
11.}
12. 
13.echo "Anda menggunakan HP berjenis ".$merkDigunakan;
14. 
15.?>


Konsep dari script di atas adalah, pertama kita list dulu merek handphone yang ada di pasaran. Di sini saya hanya mencontohkan beberapa jenis saja. Selanjutnya setelah itu kita baca user agent nya. Proses berikutnya adalah mengecek apakah user agent nya memuat string berisi merek handphone yang sudah kita list tadi? Di sini saya menggunakan function subtr_count() untuk menentukan ada tidaknya nama merek yang sudah kita list di dalam user agent nya. Function substr_count() berfungsi untuk menghitung jumlah subtring dalam suatu string. Untuk menentukan ada tidaknya suatu substring yang terdapat dalam string cukup dengan melihat jumlahnya. Jika jumlahnya lebih besar dari 0, maka berarti substring itu ada dalam string.
Kemudian.. ini ada contoh script lain yang otomatis mendirect ke halaman tertentu yang khusus menampilkan konten mobile jika diakses melalui aplikasi mobile, dan akan mendirect ke halaman tertentu yang khusus menampilkan konten aslinya (non mobile content) jika diakses lewat PC (selain aplikasi mobile).

01.<?php
02. 
03.$listMerk = array('Nokia', 'iPhone', 'iPod', 'BlackBerry', 'HTC', 'LG', 'Nokia', 'Samsung', 'SonyEricsson');
04. 
05.$agent = $_SERVER['HTTP_USER_AGENT'];
06. 
07.$cek = 0;
08.foreach ($listMerk as $merk)
09.{
10.$count = substr_count($agent, $merk);
11.if ($count > 0) $cek = 1;
12.}
13. 
14.if ($cek == 0) header("Location: http://situsanda/scriptkontenbiasa");
15.else if ($cek == 1) header("Location: http://situsanda/scriptkontenmobile");
16. 
17.?>
Ide dari script di atas adalah memberi nilai awal $cek = 0. Nilai 0 diartikan bahwa script diakses oleh aplikasi non mobile. Selanjutnya dilakukan proses pengecekan browser User Agent nya. Jika ternyata user agent terdapat dalam array, maka nilai $cek berubah menjadi 1 yang berarti bahwa script diakses oleh aplikasi mobile. Sedangkan jika user agent tidak terdapat dalam array, maka nilai $cek akan tetap 0 yang berarti bahwa script diakses oleh aplikasi non mobile. Untuk mendirect ke halaman tertentu, Anda bisa menggunakan function header("Location: http://...").
Untuk melihat tampilan dari script di atas, silakan upload ke server hosting lalu akses script tersebut via handphone Anda.

CATATAN:
Jangan Anda taruh di localhost  Oke .. !
 
OK.. selamat mencoba.

1 Komentar

Lebih baru Lebih lama