参考資料・端末判別について。

モバイル端末の判別法を簡単に纏めておきました。

尤も、日本の携帯電話ウェブの現状と海外のそれには余りにも大きな差異があり、海外の携帯端末向けにコンテンツを作成するような方は殆どいないかも知れませんが、そのような機会があった際には参考になると思います。

モバイル端末かどうかの判定。

日本国内ではユーザエージェント名のみで判定出来ますが、海外の端末まで入れるとそうは行きません。

一番簡単な方法は、HTTP 要求ヘッダに与えられるACCEPTフィールドを診る事でしょう。

海外の携帯端末は、一部のiモードを除いてWAPに準拠しております。

このため、海外の携帯端末では、ACCEPTフィールドにWAP独自のマークアップ言語で書かれた文書のMIMEタイプが入ります。

  • ちなみに、日本の端末ではiモードやソフトバンク在来機(801シリーズを含む)でACCEPTフィールドを送らなかったり、意味のある情報を入れて来なかったりします。恐らく海外iモードもACCEPTフィールドを送ってくれないでしょうから、ユーザエージェントで判断するしかないでしょう。
  • WAP準拠端末ではそのような問題は無いようです。

具体的には、以下のものが考えられます。

text/vnd.wap.wml
WML (WAP 1.0時代の標準マークアップ言語)
application/vnd.wap.xhtml+xml
XHTML モバイル・プロファイル (WAP 2.0の標準マークアップ言語)

従って、これらが含まれればWAP準拠端末と判断出来るでしょう。

  • 尚、vnd.wap.と言うのは、WAPフォーラムの公式である事を示します。この他にもさまざまな仕様が策定されております(例えば image/vnd.wap.wbmpWBMP画像)。

但し、これも盲信するのは危険です。

例えばオープンウェーヴ社のWAP 1.0 ブラウザでは、海外向けであってもサポートしていない筈のtext/html (HTML文書)やimage/gif (GIF画像)が含まれていると言う問題があります。

とは言え、無数にリリースされるであろう海外端末に関して、これ以上に簡便な判別方法が無い事も事実です。

実際の判定手順。

WAP 1.0 端末は海外でも急激に減少しているとの事ですが、一応配慮すべきであり、これらから以下のような手順が考えられるでしょう。

  1. ACCEPTフィールドにvnd.wap.と言う文字列があれば、WAP端末とする。
    • 上述の通り、vnd.wap.と言うのがWAP仕様の企画である事が分かります。
  2. 更に、xhtmlと言う文字列があれば、WAP 2.0端末とする
    • WAP 2.0ではXHTMLを標準としているので、必ずこの文字列が含まれている筈です。
      • 逆にWAP 1.0端末ではまだXHTML モバイル・プロファイルが策定されておらず、一般のXHTML(XHTML 1.0など)も対応しているとは考えられず、xhtmlと言う文字列が含まれる事は考えられません。

この方法を用いれば、EZウェブとソフトバンク次世代機(801シリーズを除く)もWAP 2.0と見なされる事になります。

その事に関して問題があるのであれば、この判定の前にEZウェブやソフトバンク端末を判定すると良いでしょう。

また、iモードやソフトバンク在来機(801シリーズを含む)はこの方法では判定出来ないので、やはり事前にチェックするようにすれば良いでしょう。

液晶解像度の判定。

残念ながら、液晶解像度の判定に関しては公的なデータはありません。

海外でもQVGA端末が発売されている状況を考えると、難しいところではありますが、海外端末には非QVGA端末と見なして配信する事も必要でしょう。

  • オープンウェーヴ社のユーザエージェントなら、HTTP 要求ヘッダにX-UP-DEVCAP-SCREENPIXELS フィールドが与えられそこに解像度が書かれるので、これを参照すれば良いでしょう。しかしながら、現在ではオープンウェーヴ社以外のユーザエージェントも増えており、全ての端末で判別が出来る訳ではありません。

対応画像形式の判定。

対応画像形式については、やはりACCEPTフィールドを使うのが順当でしょう。

但し、オープンウェーヴ社の端末にはサポートしていない画像形式が含まれているものがあるので、これは事前にユーザエージェント文字列で対応すると良いでしょう。

また、やはり国内端末ではiモードなどで情報が与えられない場合があり、これもユーザエージェント文字列で判定するしかないでしょう。

  • 尚、海外端末ではオープンウェーヴ社のWAP 1.0端末を除いた殆どの端末がGIF画像をサポートしているので、ユーザエージェントで特定の非対応端末(ソフトバンク在来機及び801シリーズ・オープンウェーヴ社のWAP 1.0端末)を弾いたら取り敢えずGIF画像対応と見なしても良いでしょう。


海外の携帯電話インターネットについて・記事一覧。