携帯サイトはキャリア・
キャリアを判別する方法
まずキャリアの判別について見ていくことにしましょう。キャリアの判別には大きく2つの方法があります。
- ユーザーエージェントでキャリアを判別する方法
- IPアドレスでキャリアを判別する方法
このどちらかを使って判別をすることになります。
ユーザーエージェントで判別する方法
ユーザーエージェントの情報からアクセスしてきている携帯キャリアを判別する方法です。携帯端末はHTTPリクエストのユーザーエージェントにアクセス端末の情報を記述してきます。この情報を解析することでどのキャリアや端末がアクセスしてきているのかを確認することができます。
ドコモのユーザーエージェント例
DoCoMo/2.0 P905i(c100;TB;W20H13)
実際の情報を見るとなんとなく理解できる内容だと思います。docomoのP905iの端末がアクセスしてきているのは一目瞭然でしょう。このユーザーエージェントの情報を取得して解析することで,
IPアドレスでキャリアを判別する方法
キャリアを判別する方法にはもう一つの方法があります。アクセス元のIPアドレスで判別する方法です。携帯からインターネットにアクセスする場合は,
つまりアクセス元のIPアドレスは各キャリアのIPアドレスとなるため,
判別方法による違い
ユーザーエージェントとIPアドレスによるキャリア判別は,
次にキャリアだけでなく,
端末を判別する
次はアクセスしてきている端末を判別する方法です。キャリアの判別と同様,
PHPでユーザーエージェント情報を取得する
$_SERVER['HTTP_USER_AGENT']
このユーザーエージェントの情報を解析し端末情報を取得することになります。ただし各キャリアによってこのユーザーエージェントの表記は異なります。キャリアだけならともかく,
ユーザーエージェントの例
キャリア | 端末 | ユーザーエージェント |
---|---|---|
docomo | F501i | DoCoMo/ |
docomo | F900i | DoCoMo/ |
au | A3011SA | UP. |
au | W21SA | KDDI-SA31 UP. |
SoftBank | J-T03 | J-PHONE/ |
SoftBank | 910T | SoftBank/ |
このユーザーエージェントから適切にキャリアと端末を取り出してくれる便利なライブラリがPHPのPEARライブラリに用意されています。Net_