携帯コンテンツ 
2008/09/01, 17:01 - プライベート, IT
休みでも結構いろいろ用事は出てくるものだが、今日の日中は時間があったので
blogの処理を弄って(というか新規作成)携帯でも閲覧できるようにしてみた。

・・・だいぶメンドイ。

携帯コンテンツは作った事がない・・・事もないのだが、
メイン案件の片手間(といってはイケナイが。)にサポートとして
少し関わった程度の経験しかないので大分シンドかった。。

作成にあたっては、

・PC版と同じURLで閲覧可能な事
・どのキャリアからでも閲覧可能な事

のみを要件とした。(自分の携帯から触れればいいやって事で。)

で、いざやり始めると、いろいろ出てくる出てくる。
何がシンドイって、まずキャリア毎にコンテンツ記述言語が異なる。
サポートに入った時にワーワー騒いだ経験があったので、
前知識としては持っていたが、やっぱメンドイ。

結局は、キャリア毎に処理をイジるのは大分シンドイ・・・
という結論に達し、全てのページでPCと全く同じURLというのはヤメて、
入り口のディレクトリに .htaccess を設置し mod_rewrite を使用して
USER_AGENT を判別し、PC版、携帯版の振り分けを行う事にした。

が、このユーザエージェントがつらい!
携帯ごとにある程度の法則はあるのだが、ホントにこれだけでいいの?
というのは各キャリアの端末情報を調べないとわからない。
そういえば、業務でやったときは携帯端末情報のDBとかもってたりしたなぁ。
でも・・・

やってられるかい!



ってわけで、とりあえず大まかに定義しとこう。
---------------------------------------------------------------
RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} DoCoMo [NC]
RewriteRule ^$ http://www.magata.net/mobile/ [L]

RewriteCond %{HTTP_USER_AGENT} vodafone [NC]
RewriteRule ^$ http://www.magata.net/mobile/ [L]

RewriteCond %{HTTP_USER_AGENT} J-PHONE [NC]
RewriteRule ^$ http://www.magata.net/mobile/ [L]

RewriteCond %{HTTP_USER_AGENT} SoftBank [NC]
RewriteRule ^$ http://www.magata.net/mobile/ [L]

RewriteCond %{HTTP_USER_AGENT} Up.Browser [NC]
RewriteRule ^$ http://www.magata.net/mobile/ [L]
---------------------------------------------------------------

あっ、そーいや前に自分専用のスケジュール管理アプリをPHPで作った時に、
ライブラリ使った事あるぞ。。
こ、これや! PEARのNet/UserAgent/Mobile.php
・・・ま、でも今回は mod_rewrite で行こう。
あん時は SoftBankもなかったし。

で、次にどのキャリアの端末からでも見られるように、処理の中で
ユーザエージェントによってさらに振り分けをしようと思った・・・が
端末ごとに別のテンプレを書くのも面倒だ。と思い直し、
新しめの携帯で見れたらいーや。という結論に到達しxhtmlで記述する事に。

が、各キャリアが推奨としているDOCTYPEはキャリア独自のものらしく、
それぞれ少しずつ違うらしい。

ググってみると、なんだが XHTML1.0 Transitional だとだいたいどのキャリアでも
きちんと表示できそうなカンジ。。
ハイ!これに決まり!

基本的にはHTMLとそれほど変わりないので、違和感なくコーディング完。
使用してるタグもドコモの技術資料ではOKなものばかりにした。
(他キャリアは知らん!資料見てないけど、だいたい一緒やろ。)

完成ー!?

ドコモは自分の携帯(N705i)から確認してOK。
あとのキャリアはシュミレータで確認・・・
なんで auのSDKは公開停止中?

ハイ・・・だいたいOKです!



もし仕事だったらこうはいかないが、(イヤ!マジで!ちゃんとやりますよ!)
完全に興味本位のいわば息抜きなので、これでよしとしよう。うん。

まぁ、画像サイズ制限とか、文字コードとか他にもいろいろあるようだが、
とりあえずDoCoMo端末で見れてるし、まっ、いっか!
また気が向いたら・・



戻る