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を使うユーザー認証)
スポンサーリンク