NDEFフォーマットは、デバイス間で情報を交換するための標準化されたデータフォーマットです。「NFCデータ交換フォーマット」の略で、NFCフォーラムの仕様で定義されています。このフォーマットは、URL、連絡先情報、その他の種類のデータなどの保存と交換に使用されます。
NDEFは、スマートカードの汎用データフォーマットを定義するISO/IEC 7816-4規格に基づいています。NDEFフォーマットは、この規格を基に、 NFCタグおよびデバイス専用のフォーマットを定義しています。
NDEFは、NFC対応デバイスやタグであればどれでも使用できるオープンフォーマットです。主要なオペレーティングシステムとNFCチップセットすべてでサポートされています。
NDEFメッセージとは何ですか?
NDEFメッセージは、1つ以上のNDEFレコードのシーケンスです。NDEFレコードは3つの部分から構成されます。
- レコードタイプ識別子(RTD)
- ペイロード
- オプションのIDフィールド
RTDは、レコードに格納されるデータの種類を識別します。ペイロードは実際のデータであり、IDフィールドはレコードの識別子を格納するために使用されます。
NDEFフォーマットは、テキスト、URI、MIMEタイプ、スマートポスター、URL、連絡先情報など、さまざまな種類のデータをサポートしています。また、カスタムデータタイプもサポートしています。
NDEFメッセージはNFCタグまたはデバイスに保存でき、NFC対応デバイスであればどれでも読み取ることができます。また、NFCタグやデバイスは、2つのデバイス間でNDEFメッセージを交換するためにも使用できます。
複数のNDEF記録
1つのNDEFメッセージに複数のNDEFレコードを含めることはできますか? はい、1つのNDEFメッセージに複数のNDEFレコードを含めることができます。各レコードには、タイプとペイロードがあります。
複数の記録がある場合、最初の記録が常に最も重要です。NFCデバイスによって処理されるデフォルトの記録は、この最初の記録です。
その他のレコードは、追加データを保存したり、最初のレコード内のデータの別の表現を提供したりするために使用できます。たとえば、URIレコードの後に、人間が読みやすい形式のURIを含むテキストレコードを記述することができます。
ほとんどのNFCアプリは、NDEFメッセージ内の最初のNDEFレコードを読み取って処理し、他のレコードは無視します。ただし、一部のアプリは、NDEFメッセージ内のすべてのレコードを読み取って処理する場合があります。
複数の記録が必要な場合は、常に最も重要な記録を最初に記載してください。また、NDEFメッセージを読み取るNFCデバイスやアプリの制限事項についても理解しておく必要があります。
NDEFメッセージを作成する方法
NDEFメッセージは、1つ以上のNDEFレコードのシーケンスです。NDEFメッセージを作成するには、各NDEFレコードを作成し、それをメッセージに追加する必要があります。
NDEFレコードの作成
NDEFの各記録は3つの部分から構成されています。
- レコードタイプ識別子(RTD)
- ペイロード
- オプションのIDフィールド
RTDは、レコードに格納されるデータの種類を識別します。ペイロードは実際のデータであり、IDフィールドはレコードの識別子を格納するために使用されます。以下に例を示します。
NdefRecord ndefRecord = new NdefRecord();
ndefRecord.setType(“url”);
ndefRecord.setPayload(“これは私のウェブサイトです”);
NdefMessage message = new NdefMessage(new NdefRecord[] { ndefRecord });
message.putExtra(“format”, “NDEF”);
このレコードでは、タイプは「URL」、ペイロードは「これは私のウェブサイトです」です。IDフィールドは設定されていないため、空になります。これは複雑に見えるかもしれませんが、NDEFメッセージを作成するためにプログラミングを使用する必要はありません。ツールを使ってメッセージを生成できます。
NFCフォーラム標準タグ(NDEFフォーマット対応)
NFCフォーラムは、NDEFフォーマットと互換性のある4種類のタグを標準化しました。
- タイプ1タグ。 このタグはISO/IEC 14443-3規格に基づいており、NFC対応デバイスであればどれでも読み書きできます。メモリサイズは96です。 bytes 通信速度は106kbpsです。ただし、データ衝突保護機能は搭載されていません。Innovision Topazは対応製品の一つです。
- タイプ2タグ。 このタグはISO/IEC 14443-4に基づいており、読み書き機能を備えています。メモリサイズは48バイトです。 bytes/ 144 bytes 通信速度は106kbpsです。衝突防止機構を備え、NXPと互換性があります。 Mifare UltralightNXP MIFARE Ultralight C.
- タイプ3タグ。 このタグはISO-18092およびJIS-X-6319-4規格に準拠しています。メモリ容量は最大9KB、通信速度は212kbpsまたは424kbpsです。価格は高めですが、ソニーのFeliCaに対応しています。
- タイプ4タグ。 このタグは、ISO/IEC 14443A/NXP DESFire 規格と互換性があります。メモリサイズは最大 32 KB、速度は 106 kbps、212 kbps、または 424 kbps です。NDEF メッセージをサポートし、DESFire と互換性があります。 MIFARE Classic、そしてMIFARE Ultralight.
これらのタグを使用すれば、NDEFフォーマットとの相互運用性と互換性が保証されます。つまり、NFC対応のあらゆるデバイスやタグで使用できるということです。
NDEFを使用するメリットは何ですか?
NDEFには、他のデータ形式に比べていくつかの利点があります。
- NDEFは相互運用可能です
NDEFは、デバイス間で情報を交換するための標準化されたデータフォーマットです。ISO/IEC 7816-4規格に基づいており、主要なすべてのオペレーティングシステムとNFCチップセットでサポートされています。
この相互運用性は、2つの理由から非常に重要です。第一に、デバイスが使用するオペレーティングシステムやNFCチップセットに関係なく、情報交換が可能になることを保証します。第二に、開発者はNFC対応デバイスであればどれでも使用できるアプリケーションを作成できるようになります。
- NDEFは柔軟性がある
NDEFフォーマットは柔軟性が高く、多種多様なデータタイプの保存に使用できます。テキスト、URI、MIMEタイプ、スマートポスター、およびカスタムデータタイプをサポートしています。この柔軟性により、NDEFは情報の保存と交換に最適なフォーマットとなっています。
- NDEFは営業中です
NDEFフォーマットはオープンフォーマットであり、NFC対応デバイスやタグであればどれでも使用できます。独自の規格ではなく、使用にライセンスは不要です。互換性の問題を気にすることなく、あらゆるNFCタグにNDEFデータを書き込むことができます。
- NDEFは安全です
NDEF形式は暗号化と署名機能をサポートしており、情報を安全に保存および交換できます。これらの機能により、NDEFは機密情報を保存するのに理想的な形式となっています。

