ユーザーエージェントによるスマートフォンの端末判別方法について

はてなブックマークに追加する

2011年06月17日 

今回は、「ユーザーエージェント(UA)によるスマートフォンの端末判別方法について教えて下さい」という質問に対して回答します。

スマートフォンのユーザーエージェント(以下「UA」と記載)は、フィーチャーフォンなどと同様に、端末の種類、OSのバージョン、ブラウザの種類などの条件ごとに固有となっております。そのため、スマートフォンからのアクセスに含まれるUAの文字列でそれぞれの端末を判別することができます。

iPhone4などに代表されるiPhoneシリーズのUAには、共通して【iPhone】という文字列が含まれている事が特徴です。一方、Nexus OneやGALAXY SなどのAndroid携帯端末のUAは、共通して【android】と【mobile】という両方の文字列が含まれている事が特徴です。

例)
・iPhone4のUA:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; ja-jp) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7

・Android2.2のUA:Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; Nexus One Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

なお、Android OS搭載端末は、そのサイズから Xperia arc や Nexus S、GALAXY S2といった携帯端末と、GALAXY Tab や Motorola XOOM といったタブレット端末と2種類に分けられます。UAに【android】という文字列を指定した場合、両者の区別なくAndroid端末であることを検出できます。

しかし、両者のデバイススクリーンの関係から、携帯端末にはスマートフォン用のサイトを、タブレット端末にはPC用のサイトをといった具合に、タブレットか否かを識別したい場合もあるはずです。この場合は、UAに文字列【android】と【mobile】の両方が含まれていることを確認します。

携帯端末のUAには【android】と【mobile】の両方が含まれていますが、タブレット端末のUAは 【android】 文字列のみです。したがって、【android】と【mobile】を含んでいた場合は携帯端末、【android】 のみならタブレット端末という判断方法で、両者を区別して検出できるようになります。

※上記内容は、2011年6月時点の情報です。
※ページ内に記載している製品名、サービス名は、各社の商標又は登録商標です。

ページTOPへ戻る

ページTOPへ戻る