-携帯開発の基礎知識まとめ *機種について [#jb45a661] 現行機種についてのみ取り上げてみた。 -Docomo FOMAとMOVA -SoftBank C型と3GC型 -AU WINと非WIN *端末識別 [#ycf089e4] 端末固有の番号を取得できるがキャリアによって取得方法がまったく違うので注意。COOKIEが使えない状況ではユーザーのトレースに利用できる唯一の手段かと。 **AUの場合 [#m88d9a0d] HTTP_X_UP_SUBNO という独自HTTPヘッダーについてくる。公式サイトだろうと勝手サイトだろうとユーザ側で送信OFFにしていない限りは取得できる。 ***取得の仕方 [#b3abdce3] -PHP $id = $_SERVER['HTTP_X_UP_SUBNO']; *文字コードについて [#v044f143] SoftBankはいくつかの文字コードを扱えるが、他のキャリアとの統一でShift_JISにしておくのがよろしい。 *HTML [#l50b88ca] auがWEP2.0になってから、HDMLはほぼ消えつつあるので、基本とするHTMLは3キャリアほぼ同じものでよい。キャリア独自のタグなどは振り分ける必要がある。 *SSLについて [#f5c4483f] 今やたいていの機種がSSL対応になっているのだが、SoftBank(Vodafone3G)とauは困ったことにちゃんとした証明書でないとそれ以上進めないという状況になっている。いちいちテスト環境のために数万円だして認証CAの証明書取れないから困ったもんだ。auのサイトには「Webサーバの証明書が不正 (認証局が不正、期限切れ等) であった場合や、テスト用の証明書であった場合には、エラーメッセージが表示され通信を行うことができません。」とある。その点DOCOMOは警告ダイアログが出るだけで、先へ進める。開発者にとっては選択の余地を残しておいてくれたほうがありがたいのだが・・・・。昔のVodafone(いわゆるP型)はそのままいけた。 *絵文字表示 [#iacaeb53] **AU [#p4b3d594] -専用のタグを使う。絵文字番号とコードの間に関連はなさそうだ。絵文字番号並び順にコードが格納されているわけではない。 <img localsrc="絵文字番号" /> **SoftBank [#s15d1081] -Unicodeでやるのが綺麗で楽かと思います。  *絵文字送信 [#s8937e50] **SoftBank [#qe8dcc70] Vodafone 3G 携帯では Shift_JIS ページを表示しているとフォームから絵文字が送信できないらしい。確かに絵文字のコードが削られている。というわけでUTF-8を使わないといけないわけだめんどくさ! *使用できる画像フォーマット [#e8b27d53] 最近の機種限定。すべてが出揃っているJPGを使うのがよいと思われる。 |キャリア|JPEG|GIF|PNG| |Docomo|○|○|×| |AU|○|○|×| |Softbank|○|○|×| *位置情報取得 [#m2069214] auが公式ページに解説あって楽 http://www.au.kddi.com/ezfactory/tec/spec/eznavi.html *エミュレータ [#kb2975bc] 携帯の見た目を確認するのにいいが、実機とは似て非なるものという認識でいないとあとでいたいしっぺ返しを食らう。早めに実機で確認したほうがいい(経験談) **Docomo [#jbac9ce4] iモードHTMLシミュレータIIというのがある。HTTPリクエストログもでてくるので結構便利。 **AU [#b52f0f60] OpenWaveSDK6.2。突然落ちたり、挙動不審に陥ることが多い。役立つ機能もあまりないのでauは実機で確認です。 **Softbank [#t9438696] ウェブコンテンツヴューア。各世代別にHTMLエラーチェックできたり3キャリアの中で一番いいのだが、時たま落ちる! *トラブルシューティング [#fc500384] **Docomo [#a6df764e] ***画像を読む度に「SSL通信を開始します」が連発する。 [#x59bd543] Keep-Aliveを有効にすることで回避可能 ***Styleシートの指定が効かない [#w9575b22] xhtmlの時はContentTypeを適切に設定しないとダメ <?php header("Content-type: application/xhtml+xml;charset=Shift_JIS"); **AU [#ibee832a] ***404や500エラー画面が表示できない。 [#b0379532] au携帯はHTTPステータスコード404,500を受け取ると端末独自のポップアップ画面を表示する。IEのエラー簡易表示のように迷惑な機能だ。回避するにはステータスコードを200にして、エラーページを表示するしかない。 **Softbank [#r60fce20] ***エラーが発生しました。(WJ46283E) [#l7434dca] mailtoタグの文字数が多すぎるとこのエラーが出る。全角文字100文字以上が危ないようだが、また境界値は判明していない。 *リンク [#dcf9816b] キャリアの公式ページはグーグルにヒットすることが少ないが、一読の価値あり -DOCOMO http://www.nttdocomo.co.jp/service/imode/make/ -AU http://www.au.kddi.com/ezfactory/tec/index.html -SoftBank http://developers.softbankmobile.co.jp/dp/ #counter