P1エミュレータを使ってiモードID機能を開発してみました
    このエントリをはてなブックマークに登録

先月末にスタートとなったドコモのiモードID機能対応のため、ケータイプログラマの皆様は、あちこちで仕事に追われていることと思います。
私も先日、仕事で実装する機会があったのですが、ちょうど少し前にP1エミュレータがバージョンアップし、iモードIDに対応したとのことですので、これを利用して実装してみることにしました。
→ P1 Emulator リリースノート [netfarm.ne.jp]

 

まずはエミュレータ側の設定からです。
iモードIDの設定は、メニューの「オプション」→「全般設定」→「高度な設定」タブから設定できます。

ひとまずiモードIDを「abcdefg」としてみます。

20080411_imodeid_01.png

β版では制限がある旨のメッセージが表示され、xxxxxでマスクされてしまいました。
なりすましのテストには利用できなさそうですね。
β版以外では解除されるように読めますが、これは正式版を購入させるための機能制限でしょうか、それともセキュリティのためなのでしょうか?

20080411_imodeid_02.png

 

さて、続いてはプログラム側です。
仕事ではかんたんログインを作成したのですが、さすがにそれは公開できないため、サンプルコードとして次のようなものを用意してみました。
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;
}
?>

無事取得できました。

20080411_imodeid_03.png

iモードIDは基本的に実機がないとテストができなかったため便利ですね。
ドコモ公式の「iモードHTMLシミュレータII」も、早く対応して欲しいものです。

 

関連:


 

最近の記事







コメントを書く