携帯用サイトの開発のためのメモ
万年作りかけのグループウェアを携帯版でも充実させるために、調べる。
●PCから携帯サイトにアクセスするためのツール
全部Windows用
【docomo】
iモードHTMLシミュレータ
iモードHTMLシミュレータII
【au】
Openwave SDK からのリンク先http://developer.openwave.com/ja/ をたどっていくと、なぜか公開停止中。なんでやねんと思ってかちかちやっていたら
本家らしき http://developer.openwave.com/dvl/ につながり
シミュレータV7がでてるよということでダウンロード
●個体識別番号
「携帯 個体 識別」とかぐぐったらいろいろでてくる。
【docomo】
製造番号、FOMA端末製造番号、FOMAカード(UIM)製造番号とか。
「iモードID」というものが2008年4月から?はじまったもよう
http://www.nttdocomo.co.jp/service/imode/make/content/ip/#imodeid
「SSL通信時は、iモードIDは付与できません。」とかで却下
formタグにutn属性を入れる
http://www.nttdocomo.co.jp/service/imode/make/content/html/tag/utn.html
これは普通にhtmlをかいていたら何の問題もないが、
Strutsを使っているので
<html:form action="hoge" utn="utn">
などと書いたら起こられる。
タグを拡張とかしなければならないらしいが、ぐぐってみても奥歯にものがはさまったというか、教育的配慮に行き届いた回答しか見つからず、憤慨。
「org.apache.struts.taglib.html.FormTag を継承したクラスをつくる。
utnをプロパティとして追加する。
renderFormStartElementをオーバーライドする。」
らしいが、
誰もわかりやすく書いてない。
(formタグをどうにかするひとなどあまりいないからな。docomo。。。)
よくわからないので、strutsのソースを探しにいく。
ついでに新しいのに入れ替える。
renderFormStartElement は、StringBufferにformタグをえいえい書いてた。
ソースをこぴってきてそのままはりつけるも、一部コンパイルエラー。
いらなさそうなのでコメントにして、
renderAttribute(results, "utn", getUtn());
を追加する
taglibのtldもかかなければならないらしいが、
よくわからないのでミニマム。
<tag>
<name>form</name>
<tag-class>hoge.HogeForm</tag-class>
<attribute>
<name>utn</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>action</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
htmlに出力されたのでよしとする
リクエストのヘッダーから取得「x-up-subno」
【SoftBank】
端末シリアル番号
http://developers.softbankmobile.co.jp/dp/tool_dl/web/useragent.php
目下は機種は無視しているので、シリアル番号だけとることをめざす。
「SN」を探して切り取る
●開発環境で個体識別番号を飛ばす
【docomo】
シミュレータIIの場合は、ブラウザのオプション設定
【au】
Settings→Device Settings→Header
x-up-subno を適当なものを追加
【SoftBank】
オプション→ HTTPヘッダ の 「ユーザIDを通知する」にチェックをいれ、
適当なIDを入力。
http://www.animegif.net/tips/mobile/mobile-serial.html
によると、機種によって11桁、15桁とか分けたほうがよさげだが
●総括
ソフトバンクのことは一番しらない。周辺にユーザが少ないのであまり省みられていない。
auは会社だと電波つながらないので(ちくしょうめ)テストができない
そんなに気の利いたことをしてないので
ブラウザちっさくしてやってればいいんだけど。。。