Top / PEAR / Net_UserAgent_Mobile


 #setlinebreak(on)
 * PEAR::Net_UserAgent_Mobile 3G対応携帯判別(ケータイ判別) [#da1710ac]
 
 こちらへ移動
 http://dozo.matrix.jp/pear/net_useragent_mobile
 
 [[DoCoMoマップ利用 PEAR::Net_UserAgent_Mobile_DoCoMoDisplayMap>PEAR/Net_UserAgent_Mobile/DoCoMoDisplayMap]]
 
 #htmlinsert(googleAdsense.html)
 ** 概要 [#xe0ed95f]
 #ref(http://dozo.rgr.jp/img/img20_file.png,right,nolink,around,PHP::PEAR)
 
 携帯端末判別の決定版。
 ケータイコンテンツ開発には必須になるやも。
 
 (ノ・・)ン。。。。。。(((●コロコロッ
 
 ケータイからアクセスしてきたとき、
 ケータイの端末判別情報はUserAgentのみ。
 (キャリヤによりけり。&公式かどうかによりけり)
 少なくとも勝手サイトの場合はこれしかない。
 
 UserAgentを細かく分析して携帯情報端末を判別するというのは結構面倒くさかったりする。
 そしてトドメはvodafone3GC型。
 最近vodafoneが売りにしている3G,3Gとはこれのこと。
 携帯端末自体も使い勝手が最悪なのだが、
 UserAgentは機種によってバラバラ。
 Motorolaは一番ひどい。
 (まぁ、vodafoneも反省しているみたいだが。)
 
 そんなこんなに対応してケータイを判別してくれるありがたーいパッケージが[[PEAR::Net_UserAgent_Mobile:http://pear.php.net/package/Net_UserAgent_Mobile]]
 http://pear.php.net/package/Net_UserAgent_Mobile
 Perlの[[CPAN:http://search.cpan.org/]]に[[HTTP-MobileAgent>http://search.cpan.org/search?mode=module&query=HTTP-MobileAgent]]と言うのがあるのだが、
 これの移植?みたい。Perlはよくわからんです。
 
 もう一つ[[PEAR::Net_UserAgent_Detect:http://pear.php.net/package/Net_UserAgent_Detect]]というのがあるが、
 これはPCブラウザ用。
 (ちょっとできの方が。。。。)
 
 0.23.0現在ベータ版のためインストールには-fを付ける必要がある。
  # pear install -f Net_UserAgent_Mobile
 
 ソースコードはこんな感じ
     require_once('Net/UserAgent/Mobile.php');
  
     // インスタンス生成(ユーザーエージェント解析)
     // 解析するユーザーエージェントを指定することも出来る
     $agent = &Net_UserAgent_Mobile::singleton(); 
  
     // エラー回避(将来的には不要になると思う。)
     if( !method_exists( $agent , "isDoCoMo" ) ){ 
         switch( true )
         {
         case ($agent->isDoCoMo()):   // DoCoMoかどうか
             echo "DoCoMoだよ。";
             break;
         case ($agent->isVodafone()): // vodafoneかどうか
             echo "vodafoneだよ。";
             break;
         case ($agent->isEZweb()):    // ezwebかどうか
             echo "ezwebだよ。";
             break;
         default:
             echo "たぶんパソコン。";
             break;
         }
     }
     else{
         echo "判別できなかった。ごめんね。";
     }
 
 ケータイ端末判別を自前で作成すると結構な手間なので、
 コレを使うとすごい楽。
 ただ、このパッケージだけでは実運用のときに足りないので、
 拡張したクラスを作ることになると思う。
 (対応している画像フォーマットを指定したりとか、
 QVGAに対応しているかどうかとか)
 
 
 
 はまりポイント
  ・定義にdie()がちりばめられているので、
    いきなり画面が真っ白になるときがある。
    (少しはメッセージを入れて欲しいぞ。)
  ・共通メソッドが十分でないのでインスタンスのメソッド名を
    確認してから使わないと構文エラーが画面に出る。
  ・判別し損なったときNonMobileで出力して欲しいのだが、
    PEAR::raiseErrorがかえってきてエラーが画面に出る
  ・singletonパターンの実装が少し変なような。。。。
  ・Ver.0.23.0時点でV802Nには対応していない模様。 
     => 0.24.0で改善されてるようです。
  ・auだけ_serialNumberプロパティが空になる。
    別途$_SERVER["HTTP_X_UP_SUBNO"]から取得する必要がある


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Third Project
証券会社ランキング比較