Net_UserAgent_Mobile 携帯判別PEARパッケージの使い方と注意点
携帯判別(ケータイ判別)のPEARパッケージです。
(PHPです。)
PEAR::Net_UserAgent_Mobile
docomo、au、Softbank、WILLCOMの判別ができます。イーモバイルには対応していません。(ver1.0.0)
エラー処理があまり丁寧ではないせいか、ちょっとミスするとエラーが出ず画面が真っ白になるためデバックが困難です。
あくまで実機での判別のためシュミレータのようなものには対応していない部分があります。
クローラーにももちろん対応していません。
携帯っぽいユーザーエージェントに偽装してアクセスされたときの挙動は微妙です。
キャリアごとにメソッドを定義していて、共通メソッドにはなっていないので例えばau以外でgetDeviceID()を使うと、そこで完全に処理が止まります。
前述の通りエラーは出ません。
詳細な判別は、慎重に使わないと大変です。
基本的にブラックリスト方式ではなく、ホワイトリスト方式なので、使い方によっては新機種が出るごとに最新のパッケージを使う必要があります。
PEARサイト
ダウンロード
tgzファイルをWindowsの解凍ソフトで解凍すると正しく解凍できないことがあります。
そんなときは『解凍レンジ』で解凍できます。
公式サイト
ダウンロード
インストール
コマンドラインでのインストール
pear install -o net_userAgent_mobile
ダウンロードパッケージ
ダウンロード、解凍し、includeパスに配置します。
includeパスに書き込み権限がない場合は、適当なディレクトリに配置してインクルードパスを追加します。
set_include_path( 【Net_UserAgent_Mobile】までのパス . PATH_SEPARATOR . get_include_path());
インクルードパスを指定せずに使うことはコード上できません。
使い方
require_once('Net/UserAgent/Mobile.php');
$agent = Net_UserAgent_Mobile::singleton();
if($agent->isDoCoMo()){
echo "docomo";
}elseif($agent->isSoftbank()){
echo "Softbank";
}elseif($agent->isEZweb()){
echo "au";
}elseif($agent->isWillcom()){
echo "WILLCOM";
}else{
echo "PC";
}
メソッド一覧
| 共通 | ||
|---|---|---|
| getUserAgent() | String | ユーザーエージェント |
| isMobile() | bool | 携帯かどうか これは使えない |
| isDoCoMo() | bool | docomoかどうか |
| isEZweb() | bool | au(EZweb)かどうか |
| isSoftBank() | bool | Softbankかどうか |
| isWillcom() | bool | WILLCOMかどうか |
| getHeader($header) | String | 指定されたヘッダー情報を返す |
| getName() | String | ブラウザ名 |
| getDisplay() | bool | 画面情報 |
| getVersion() | bool | 携帯かどうか |
| noMatch() | bool | ? |
| isJPhone() | bool | isSoftBank()のエイリアス |
| isVodafone() | bool | isSoftBank()のエイリアス |
| isAirHPhone() | bool | エアエッジかどうか |
| isNonMobile() | bool | 携帯ではないかどうか |
| isTUKa() | bool | TUKAかどうか |
| isWAP1() | bool | WAP1かどうか |
| isWAP2() | bool | WAP2かどうか |
| getCarrierShortName() | String | キャリア名を1文字 |
| getCarrierLongName() | String | キャリア名 |
| getModel() | String | 機種名 |
| getRawModel() | String | モデル名 |
| getUID() | String | 個体識別番号 |
| makeDisplay() | object | 画面情報取得オブジェクト |
| makeDisplay()->calcSize() | int | 画面解像度 総サイズ |
| makeDisplay()->getSize() | array | 画面解像度 縦横配列 |
| makeDisplay()->getWidth() | int | 画面幅 |
| makeDisplay()->getHeight() | int | 画面高さ |
| makeDisplay()->getDepth() | int | 画面色数 |
| makeDisplay()->isColor() | bool | カラー画面かどうか |
| makeDisplay()->getWidthBytes() | int | 横文字数(半角換算) |
| makeDisplay()->getHeightBytes() | int | 縦文字数 |
| parse($userAgent) | array | UAをパースする |
| docomo | ||
| getHTMLVersion() | String | HTMLのバージョン |
| getCacheSize() | int | キャッシュサイズ |
| getSeries() | String | シリーズ名 |
| getVendor() | String | メーカー名 |
| getStatus() | String | TB,TC,TD,TJなどの接続状態 |
| getBandwidth() | int | 帯域 eggy(エッギー)のみ |
| getSerialNumber() | String | 端末製造番号 |
| isFOMA() | bool | FOMAかどうか |
| getComment() | String | UAのコメント部 |
| getCardID() | String | FOMAカードID(SIM ID) |
| isGPS() | bool | GPS対応かどうか |
| getBrowserVersion() | String | ブラウザバージョン |
| au EZweb | ||
| getDeviceID() | String | 端末ID |
| getServer() | String | UAのサーバー部 |
| getComment() | String | UAのコメント部 |
| isXHTMLCompliant() | bool | XHTML対応かどうか |
| isWIN() | bool | WIN端末かどうか |
| Softbank | ||
| isPacketCompliant() | bool | パケット接続かどうか |
| getSerialNumber() | String | 端末製造番号 |
| getVendor() | String | メーカー名 |
| getVendorVersion() | String | メーカーのバージョン |
| getJavaInfo() | String | Javaのバージョン情報 |
| isTypeC() | bool | C型携帯かどうか |
| isTypeP() | bool | P型携帯かどうか |
| isTypeW() | bool | W型携帯かどうか |
| isType3GC() | bool | 3GC携帯かどうか |
| getMsname() | String | 機種名 |
| WILLCOM | ||
| getVendor() | String | メーカー名 |
| getModelVersion() | String | 端末バージョン名 |
| getBrowserVersion() | String | ブラウザバージョン |
| getCacheSize() | int | キャッシュサイズ |
関連記事
- 電話機の数字ボタンの右下にある「#」は、シャープではありません
- 個体識別番号通知の設定URL
- ドメイン指定受信設定のURL
- Googleなどのサーチエンジンに携帯版サイトを認識させる方法
- ユーザーエージェントからのキャリア、世代判別
- 携帯用クローラーのIPアドレスとユーザーエージェント
- 携帯電話番号の割り振り表 電話番号からキャリア・地域がわかります
- すべての端末で画像表示を同じにする方法
- FireMobileSimulator パソコンで携帯サイトを検証する
- 携帯サイトのmailtoを端末ごとに書き換える関数
- 携帯電話番号の変遷
- 携帯サイトでのmailtoの使い方
- mailto本文での改行 ドコモのN、Pで送信に失敗します
- PCからデコメールを送るときの仕様
- <docomo>タグ、<au>タグ、<softbank>タグの使用例
- キャリア・クローラーのIP・ユーザーエージェント一覧
- 役に立つかもしれないリンク集
- 裏コマンド(スペシャルモード)
- バッテリーの製造番号 製造の年月がわかります
- 位置情報・GPS情報の取得方法
- 携帯ドメイン一覧 携帯電話キャリア PHSキャリア
- 個体識別情報・UIDの取得方法
- 絵文字一覧 Softbankモバイル(Yahoo!ケータイ)
- 絵文字一覧 Docomo(iモード)
- 絵文字一覧 au(KDDI EZweb)
- auでインラインFLASH
- PHP
- strtotimeでmonthを使用するときの注意点
- fsockopenでSSLサーバに接続する
- Symfony(シンフォニー)
- PHPでのfacebookアプリの認証処理(APIを使うユーザー認証)
スポンサーリンク





