P1エミュレータを使ってiモードID機能を開発してみました
Tweet
先月末にスタートとなったドコモのiモードID機能対応のため、ケータイプログラマの皆様は、あちこちで仕事に追われていることと思います。
私も先日、仕事で実装する機会があったのですが、ちょうど少し前にP1エミュレータがバージョンアップし、iモードIDに対応したとのことですので、これを利用して実装してみることにしました。
→ P1 Emulator リリースノート [netfarm.ne.jp]
まずはエミュレータ側の設定からです。
iモードIDの設定は、メニューの「オプション」→「全般設定」→「高度な設定」タブから設定できます。
ひとまずiモードIDを「abcdefg」としてみます。
β版では制限がある旨のメッセージが表示され、xxxxxでマスクされてしまいました。
なりすましのテストには利用できなさそうですね。
β版以外では解除されるように読めますが、これは正式版を購入させるための機能制限でしょうか、それともセキュリティのためなのでしょうか?
さて、続いてはプログラム側です。
仕事ではかんたんログインを作成したのですが、さすがにそれは公開できないため、サンプルコードとして次のようなものを用意してみました。
iモードIDが取れなければリダイレクトし、パラメータに「guid=ON」を付け、idを取得する仕掛けです。
<?php
// iモードID取得のためのパラメータが付いていなければリダイレクト
$agent = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/^DoCoMo/', $agent) and !isset($_GET['guid'])) {
redirect($_SERVER['SCRIPT_NAME'] . '?guid=ON');
}
echo 'iモードID:' . $_SERVER['HTTP_X_DCMGUID'];
// リダイレクト
function redirect($page) {
$url = 'http://' . $_SERVER['HTTP_HOST'] . $page;
header(sprintf("Location: %s", $url));
exit;
}
?>
無事取得できました。
iモードIDは基本的に実機がないとテストができなかったため便利ですね。
ドコモ公式の「iモードHTMLシミュレータII」も、早く対応して欲しいものです。
関連:
- 本日提供が開始された「iモードID」機能を早速試してみました
- 3キャリア対応の新ケータイエミュレータ「P1 Emulator」と実機を比較してみました
- PCからケータイのユーザエージェントを詐称するには(Firefox編)
最近の記事