携帯の機種名やキャリア名など今まで自作のライブラリを使ってきましたが
今年に入ってPEARのNet_UserAgent_Mobileが正式にリリースされましたので試しました。
インストール
#pear install Net_UserAgent_Mobile
ライブラリ読み込み
require_once('Net/UserAgent/Mobile.php'); $agent = &Net_UserAgent_Mobile::factory();
キャリア共通で使える関数
※ユーザーエージェント「DoCoMo/2.0 SH905i(c100;TB;W24H16)」でアクセスしました。
//機種名取得 $agent->getModel(); //SH905i //キャリア名取得 $agent->getName(); //DoCoMo //携帯か $agent->isMobile(); //true //タイプ判別 $agent->isDoCoMo(); // [ドコモか判別] $agent->isEZweb // [EZWEBか判別] $agent->isSoftBank // [ソフトバンクか判別] $agent->isWillcom // [ウィルコムか判別] //ユーザーエージェント取得 $agent->getUserAgent(); //DoCoMo/2.0 SH905i(c100;TB;W24H16) //シリアルナンバー取得 $agent->getUID();
使ってみた感想
キャリアを判別するのには便利ですが、もう少し詳しい下記のような情報を取ろうとするとまだ難しそうです。
・ブラウザのバージョン //ドコモだけ対応 getHTMLVersion
・縦横ピクセルサイズ //ドコモだけ対応 getSize
・GPS対応判別 //ドコモだけ対応 isGPS
・FLASH Liteの対応バージョン
・表示可能ファイル容量
・対応可能音源
・アプリ使用可能容量
縦横サイズはリファレンスを見ると getDisplayで取得出来るっぽかったのですが
実際試して見るとドコモでしか取得出来ませんでした。
$agent = &Net_UserAgent_Mobile::factory(); $display = $agent->getDisplay(); $width = $display->getWidth(); //横サイズ取得 $height = $display->getHeight(); //縦サイズ取得 list($width, $height) = $display->getSize(); //縦横サイズ取得