2012年1月27日金曜日
携帯、iOS端末、スマートフォン、モバイル端末の判別ライブラリ - MobileESP
サイト
MobileESP - The MobileESP Project
PHP、JavaScript、Java、ASP.NETそれぞれのライブラリが有ります。
PHP用は以下からダウンロード。
ダウンロード
mobileesp MobileESP - Google Project Hosting
使い方
て程もなく、アップロードして呼び出すだけ。
/* MbileESPの使い方 */
require "mdetect.php"; $m = new uagent_info();
以下メソッドです。返り値はすべて「TRUE/FALSE」です。
/* メソッド一覧 */ Get_Uagent(PHP以外GetUserAgent):$_SERVER['HTTP_USER_AGENT']をstrtolower()に通した値 Get_HttpAccept(PHP以外GetHttpAccept):$_SERVER['HTTP_ACCEPT']をstrtolower()に通した値 DetectIphone:iPhone判別(iPod TouchかiPad) DetectIpod:iPod Touch判別 DetectIpad:iPad判別 DetectIphoneOrIpod:iPhoneかiPod Touch DetectIos:iOS機器判別(iPhone、iPod Touch、iPad) DetectAndroid:Android OS機器判別(Android携帯、タブレット、HTC Flyer、Google TV) DetectAndroidPhone:Android携帯判別(Androidモバイル機器のみタブレットは無視) DetectAndroidTablet:Androidタブレット判別(Androidモバイル機器以外) DetectGoogleTV:GoogleTV判別 DetectAndroidWebKit:Android携帯用のWebKitブラウザか判別 DetectWebkit:0WebKitエンジン製ブラウザか判別 DetectS60OssBrowser:Nokia S60ブラウザか判別 DetectSymbianOS:Symbian OS機器判別 DetectWindowsPhone7:Windows Phone 7機器判別 DetectWindowsMobile:Windows Mobile機器判別(Windows Phone 7以外の7:Windows Mobile 6以前) DetectBlackBerry:BlackBerry用ブラウザ判別 DetectBlackBerryTablet:BlackBerryタブレット用ブラウザ判別 DetectBlackBerryWebKit:BlackBerryのWebKitブラウザか判別(BlackBerry OS 6) DetectBlackBerryTouch:BlackBerryのブラウザか判別(Storm、Torch、Bold Touch、Playbook) DetectBlackBerryHigh:BlackBerry OS 5のブラウザか機器(Storm、Bold、Curve2等BlackBerry OS 6~7のブラウザ以外) DetectBlackBerryLow:BlackBerry機器の古いブラウザか判別(Pearl, 8800, Curve1) DetectPalmOS:PalmOS機器のブラウザか判別 DetectPalmWebOS:PalmのWebOS機器のブラウザか判別 DetectWebOSTablet:HPのWebOSタブレット機器のブラウザか判別 DetectGarminNuvifone:GarminのNuvifonのブラウザか判別 DetectSmartphone:スマートフォンか判別(次のメソッドを呼ぶ:isIphone()、isAndroidPhone()、isTierIphone()、DetectS60OssBrowser()、DetectSymbianOS()、DetectWindowsMobile()、DetectWindowsPhone7()、DetectBlackBerry()、DetectPalmWebOS()、DetectPalmOS()、DetectGarminNuvifone()) DetectBrewDevice:Brew機器か判別 DetectDangerHiptop:Danger Hiptopか判別 DetectOperaMobile:Operaブラウザか判別(Opera Mobile、Opera mini) DetectOperaAndroidPhone:Android携帯のOpera Mobileブラウザか判別 DetectOperaAndroidTablet:AndroidタブレットのOpera Mobileブラウザか判別 DetectWapWml:0WAPかWMLに対応した機器か判別 DetectKindle:eInk対応のAmazon Kindle機器 DetectMobileQuick:モバイル機器の簡易判別(iPad等モダンデバイスを除くスマートフォン) DetectSonyPlaystation:Playstationか判別 DetectNintendo:Nindendoのゲーム機か判別 DetectXbox:Xboxか判別 DetectGameConsole:ゲーム機か判別(次のメソッドを呼ぶ:DetectSonyPlaystation()、DetectNintendo()、Xbox()) DetectMidpCapable:Java MIDP対応機器か判別 DetectMaemoTablet:NokiaのMaemo機器か判別 DetectArchos:0Archos機器かどうか DetectSonyMylo:Myloか判別 DetectMobileLong:携帯、スマートフォン、タブレット、ゲーム機等のモバイル機器か判別(次のメソッドを呼ぶ:DetectMobileQuick()、DetectGameConsole()、DetectSonyMylo() 次の機器かユーザエージェントから判別:"up.link"、"sonyericsson"、"ericsson"、"docomo"、"kddi"、"vodafone") DetectGameConsole: DetectTierTablet:iPad、Android、BB Playbook、WebOS等のHTML 5対応の大画面タブレットを判別(次のメソッドを呼ぶ:DetectIpad()、DetectAndroidTablet()、DetectBlackBerryTablet()、DetectWebOSTablet()) DetectTierIphone:iPhone、iPod Touch、Android、Windows Phone 7、WebOS等のiPhoneコンテンツ対応機器を判別 DetectTierRichCss:iPhone向けCSS有効な機器を判別(Javascriptは考慮しない、DetectTierIphone()を除く) DetectTierOtherPhones:携帯を判別(iPhoneとDetectTierRichCss()を除く)
PHPだけ「GetUserAgent()⇒Get_Uagent」や「GetHttpAccept⇒Get_HttpAccept」でなぜか「strtolower()」を使って小文字にしてたり良くわかりませんが、Softbankはシミュレータでアクセスしたところ以下のメソッドが検知してくれるようです。
/* シミュレータからSoftbankでアクセス結果 */ DetectMidpCapable:1 DetectMobileQuick:1 DetectMobileLong:1 DetectTierOtherPhones:1
IDなど取得するメソッドはないのでセッション管理やログインなどには使えませんが、レスポンシブ Webデザインに使うには良いかもしれません。
感想
いろんなプラットフォームがあるんだなぁと思いました。
その全てのアクセスを想定しなくてはいけないのはさらにWeb制作が大変だと思います。
おまけ
登録 投稿 [Atom]
