参考資料・端末判別について。
- 平成19年 3月18日 公開
モバイル端末の判別法を簡単に纏めておきました。
尤も、日本の携帯電話ウェブの現状と海外のそれには余りにも大きな差異があり、海外の携帯端末向けにコンテンツを作成するような方は殆どいないかも知れませんが、そのような機会があった際には参考になると思います。
- 今後増えるかどうかは分かりませんが、国内でも新規参入があった際にこれらの方法が使えるかも知れません。今更iモードのような独自仕様を導入するのなら、WAP 2.0準拠やフル規格ウェブ対応の方が手っ取り早いと言う事になれば(実際、イー・モバイル社は一号機からフル規格ウェブ対応端末を導入し、独自規格は出しておりません)面倒な個別判定を追加する必要が無く、本文書での方法がそのまま応用出来ます。
モバイル端末かどうかの判定。
日本国内ではユーザエージェント名のみで判定出来ますが、海外の端末まで入れるとそうは行きません。
一番簡単な方法は、HTTP 要求ヘッダに与えられるACCEPTフィールドを診る事でしょう。
海外の携帯端末は、一部のiモードを除いてWAPに準拠しております。
このため、海外の携帯端末では、ACCEPTフィールドにWAP独自のマークアップ言語で書かれた文書のMIMEタイプが入ります。
- ちなみに、日本の端末ではiモードやソフトバンク在来機(801シリーズを含む)でACCEPTフィールドを送らなかったり、意味のある情報を入れて来なかったりします。恐らく海外iモードもACCEPTフィールドを送ってくれないでしょうから、ユーザエージェントで判断するしかないでしょう。
- WAP準拠端末ではそのような問題は無いようです。
具体的には、以下のものが考えられます。
従って、これらが含まれればWAP準拠端末と判断出来るでしょう。
- 尚、vnd.wap.と言うのは、WAPフォーラムの公式である事を示します。この他にもさまざまな仕様が策定されております(例えば image/vnd.wap.wbmp…WBMP画像)。
但し、これも盲信するのは危険です。
例えばオープンウェーヴ社のWAP 1.0 ブラウザでは、海外向けであってもサポートしていない筈のtext/html (HTML文書)やimage/gif (GIF画像)が含まれていると言う問題があります。
とは言え、無数にリリースされるであろう海外端末に関して、これ以上に簡便な判別方法が無い事も事実です。
実際の判定手順。
WAP 1.0 端末は海外でも急激に減少しているとの事ですが、一応配慮すべきであり、これらから以下のような手順が考えられるでしょう。
- ACCEPTフィールドにvnd.wap.と言う文字列があれば、WAP端末とする。
- 上述の通り、vnd.wap.と言うのがWAP仕様の企画である事が分かります。
- 更に、xhtmlと言う文字列があれば、WAP 2.0端末とする
- WAP 2.0ではXHTMLを標準としているので、必ずこの文字列が含まれている筈です。
- 逆にWAP 1.0端末ではまだXHTML モバイル・プロファイルが策定されておらず、一般のXHTML(XHTML 1.0など)も対応しているとは考えられず、xhtmlと言う文字列が含まれる事は考えられません。
- WAP 2.0ではXHTMLを標準としているので、必ずこの文字列が含まれている筈です。
この方法を用いれば、EZウェブとソフトバンク次世代機(801シリーズを除く)もWAP 2.0と見なされる事になります。
その事に関して問題があるのであれば、この判定の前にEZウェブやソフトバンク端末を判定すると良いでしょう。
また、iモードやソフトバンク在来機(801シリーズを含む)はこの方法では判定出来ないので、やはり事前にチェックするようにすれば良いでしょう。
対応画像形式の判定。
対応画像形式については、やはりACCEPTフィールドを使うのが順当でしょう。
但し、オープンウェーヴ社の端末にはサポートしていない画像形式が含まれているものがあるので、これは事前にユーザエージェント文字列で対応すると良いでしょう。
また、やはり国内端末ではiモードなどで情報が与えられない場合があり、これもユーザエージェント文字列で判定するしかないでしょう。