携帯の端末を識別する番号を取得する方法
調査する機会があったので、整理してみました。
DoCoMo
movaとFOMAの場合では、製造番号の取得方法が異なるので注意が必要です。またCookieは利用できません。
HTMLのテンプレートでの対応(utn属性の埋め込み)とmova/FOMAの違いによる取得方法の違いはあれど、取得自体は難しくありません。
また503iシリーズ以降およびFOMAでのみ対応しています。ただし公式サイト内の個体識別情報で書かれている条件に該当する場合は、非対応の可能性があります。
HTMLサンプル
- リンクの場合
<a href="http://m.example.jp/" utn>http://m.example.jp/ </a>
- フォームの場合
<form method="post" action="http://auth.example.jp/" utn>
<input type="text" name="id" value="">
<input type="password" name="pw" value="">
<input type="submit" value="送信">
</form>
mova
- AタグもしくはFORMタグの中に属性utn追加すると、アクセスした端末の製造番号をサーバに送信
- 但し、utn指定時のアクセスについては、その都度利用者に対し確認画面を表示
- 送信される製造番号(11桁のユニークな英数字)はUserAgentの末尾に追加して送信
ユーザエージェントフォーマット
DoCoMo/1.0/X503i/c10/ser***********
製造番号フォーマット
ser***********
(ser:固定、***********:製造番号)
FOMA
- AタグもしくはFORMタグの中に属性utnを追加すると、アクセスした端末の製造番号とFOMAカード製造番号をサーバに送信
- 但し、utn指定時のアクセスについては、その都度利用者に対し確認画面を表示
- 送信されるFOMA端末製造番号(15桁のユニークな英数字)およびFOMAカード製造番号(20桁のユニークな英数字)はUserAgentの末尾に追加して送信
- FOMA端末製造番号のみ、もしくはFOMAカード製造番号のみの送信は不可
ユーザエージェントフォーマット
DoCoMo/2.0 YYYY(c10;serXXXXXXXXXXXXXXX; iccxxxxxxxxxxxxxxxxxxxx)
FOMA端末製造番号フォーマット
serXXXXXXXXXXXXXXX
ser:FOMA端末個体識別子
XXXXXXXXXXXXXXX:FOMA端末製造番号(15桁の英数字)
FOMAカード製造番号フォーマット
iccxxxxxxxxxxxxxxxxxxxx
icc:FOMAカード個体識別子
XXXXXXXXXXXXXXXXXXXX:FOMAカード製造番号(20桁の英数字)
※FOMAカード裏面に記載されているものとは異なります。
参考サイト
以下に参考にしたサイトを挙げておきます。
- 公式サイトによる情報で、一番信頼性が高い。
- ケータイWatchによる記事、取得可能な対象端末について説明が書かれてある。ただし情報は古いので注意が必要。
AU
EZ番号(以前はサブスクライバ IDという名称だった)は、EZweb対応の端末であれば、以下の条件を除けば取得が可能です。
EZ番号取得方法
AUの場合、サーバ側で環境変数「HTTP_X_UP_SUBNO」より取得することができます。これらはEZweb独自の環境変数になりますので注意して下さい。
詳細な情報は、モバイルCGI研究(EZweb編)環境変数リファレンスに書かれているので、一度目を通しておくと良いと思います。(ただし情報は古いかもしれないです)
SoftBank(Vodafone, J-PHONE)
色々とごたごた続きのVodafoneですが、2006/10/1からSoftBankに名称変更します。これに伴い、今後発売される端末で仕様が変わる可能性が高いのですが、参考情報として書いておきます。今はまだVodafoneという名称なので、以降ではVodafoneと記述します。
携帯電話製造番号を取得できますが、携帯保有者が携帯電話製造番号の通知を許可した場合になります。DoCoMoとは異なり、毎回通知許可を求められない点は評価できますが、AUのような形での通知設定を行うことはできません。
また番号通知に対応した端末のリストが公式サイトのユーザーエージェント情報に書かれてあり、見る限り数が少ないです。Vodafoneの公式サイトなのにサイト更新の頻度が低く、あまり情報としては信頼できない面もありますが、公式サイトを見るしかないです。