「ひとかじりのりんご」

へっぽこエンジニアの備忘録。こちらは旧ブログ。新しい方はこちら→「http://sbkro.github.io」

電話帳へ登録するためのQRコード作成方法(国内3キャリア、iPhone、Android対応)

携帯電話のQRコードスキャナアプリには、スキャン結果をアドレス帳へ登録するという素晴らしい機能を持っています。各キャリアは、どのような仕様で実現しているのか、また全キャリアに対応したQRコードの作り方について調べてみました。

docomo

ドコモのホームページに仕様が公開されています。この他にも開発者向けの情報が公開されていました。結構親切ですね。

au

ドコモと同じく仕様が公開されています。素晴らしいヽ(´ー`)ノドコモとは仕様が異なるので注意。

SoftBank

auと同じ仕様の模様。ただし、SoftBankのHP内には仕様が公開されておらず...

iPhone

au版と同じ。もしかしたら、QRコードスキャナアプリの実装に依存するのかもしれません。

確認環境
  • iPhone4 (SIM free) / 携帯便利セット v1.4

Android

docomo版/au版両方使えます。iPhoneと同じく、アプリの実装に依存するのかもしれません。

確認環境

全キャリアに対応させるためには...

上記の仕様に基づいてQRコードを作ってあげると、アドレス情報を登録することができます。ただ、キャリアごとにQRコードを作り直すのは面倒ですよね。なので、一つのQRコードで、全キャリアの携帯電話へアドレス情報を登録するための方法について考えてみます。

参考

コツは4つ。

  1. キャリア独自の情報(住所、ニックネーム等)は出来るだけ使わない。
  2. au版の仕様をベースに、「MEMORY」タグにdocomo版の仕様を埋め込む。(メモ欄にゴミが入る。)
  3. 改行コードは「CR/LF(\r\n)」にすること。
  4. 最後のデータの末尾にも改行コードを与えること。(重要)

このようなデータをエンコーダに渡せればいいと思います。

MEMORY:MECARD:N:sbkro;SOUND:しばくろ;TEL:03-1234-5678;TEL:090-1234-5678;EMAIL:mail1@smaple.com;EMAIL:mail2@sample.com;;
NAME1:sbkro
NAME2:しばくろ
MAIL1:mail1@smaple.com
MAIL2:mail2@sample.com
TEL1:03-1234-5678
TEL2:090-1234-5678

実際にエンコードした結果はこちら。
f:id:sbkro:20120701163912p:plain

動作環境
  • N906iL onefone
  • iPhone4 (SIM free) / 携帯便利セット v1.4
  • Garaxy S (docomo/SC_02B) / QRコードスキャナー v3.72
  • Xperia mini pro (SIM free/SK17) / QRコードスキャナー v3.72