NFC-Tags speichern Daten in einem speziellen Format namens NDEF (NFC Data Exchange Format), das vom NFC-Forum entwickelt wurde. Es definiert die Struktur der Daten und kann entweder in NdefMessage oder NdefRecord implementiert werden.
Das NDEF-Format ermöglicht es, mehrere Arten von Daten auf einem einzigen Tag zu speichern und eignet sich daher perfekt für Anwendungen wie kontaktlose Zahlungen und Marketingkampagnen. In diesem Artikel erläutern wir das NDEF-Format und seine wichtigsten Merkmale.
Was ist das NDEF-Format?
Das NDEF-Format ist eine Standard-Datenstruktur, die zur Codierung von Informationen auf NFC-Tags verwendet werden kann. Es ermöglicht einen reibungslosen Datenaustausch zwischen kompatiblen NFC-Geräten und NFC-Tags. Das Datenformat besteht hauptsächlich aus:
- NDEF Aufzeichnungen
- NDEF-Nachrichten
NDEF Aufzeichnungen
NDEF-Datensätze setzen sich aus drei Hauptkomponenten zusammen:
- Eine Kennung für die Datensatzart
- Die tatsächlich gespeicherten Daten
- Eine zyklische Redundanzprüfung (CRC) für garantierte Datenintegrität
Datensatztyp Kennung
Der Record Type Identifier teilt dem NFC-Leser mit, welche Art von Informationen in diesem bestimmten NDEF-Datensatz gespeichert ist.
Wenn zum Beispiel ein kontaktloses Zahlungsterminal mit einem NFC-Tag interagiert, liest es die Kennung der Datensatzart und verarbeitet nur zahlungsbezogene NDEF-Datensätze.
Der Datensatztyp-Identifikator kann in verschiedenen Formaten gespeichert werden, z.B. in URI-Datensätzen, Service Delivery-Datensätzen, URI &MIME-Datensätzen oder Eddystone UDI-Datensätzen.
Von NDEF unterstützte Datentypen
Die vom NDEF-Format unterstützten Datentypen sind URI-Datensätze, MIME-Typ-Datensätze und Service-Discovery-Datensätze. Ein NFC-Tag kann verschiedene Informationen oder eine Art von Daten pro NDEF-Datensatz speichern.
So können Sie beispielsweise verschiedene URI-Datensätze verwenden, um die URL Ihrer Website, die Download-Adresse für eine Android-App und die Kontaktinformationen für Ihr Unternehmen zu speichern.
- URI-Datensatz
Dieser Typ wird ausschließlich zum Speichern von Uniform Resource Identifier (URI)-Daten verwendet. Wie der Name schon sagt, kann er verwendet werden, um NFC-Geräte auf Quellen verschiedener Arten von URI-Daten zu verweisen. Zum Beispiel Website-URLs, Anwendungsinstallationen und Kontaktinformationen.
- MIME-Typ-Datensatz
MIME steht für Multipurpose Internet Mail Extension. Dieser Datensatz speichert sowohl einen Uniform Resource Identifier (URI) als auch einen MIME-Typ-Datensatz im NDEF-Format. Der MIME-Typ wird verwendet, um zu bestimmen, wie die im URI-Teil des Datensatzes gespeicherten Informationen zu behandeln sind. Sie sollten ihn also immer mit angeben, wenn Sie Inhalte auf einem NFC-Tag speichern. Wenn Sie zum Beispiel einen URI-Datensatz, der auf eine Website verweist, auf einem NFC-Tag gespeichert haben, sollte der MIME-Typ für diesen Datensatz 'text/HTML' sein.
- Datensatz zur Dienstsuche
Dieser Datensatz wird verwendet, um Informationen zur Erkennung von Diensten im NDEF-Format zu speichern. Diese Informationen können von 'auffindbaren' NFC-Geräten verwendet werden, um festzustellen, ob sie sich in der Reichweite der für sie relevanten Dienste befinden.
Die in einem NDEF-Datensatz vom Typ C gespeicherten Informationen können insgesamt bis zu 27 Byte umfassen.
- Eddystone UID Datensatz
Der Datensatz vom Typ D wird verwendet, um eine eindeutige Kennung in Form einer URL zu speichern, die dem Eddystone-Protokoll entspricht. Das genaue Format dieser URL hängt davon ab, welches Eddystone-Protokoll verwendet wird.
Was sind NDEF-Nachrichten im NDEF-Format?
NDEF-Nachrichten sind die Datenpakete, die auf einem NFC-Tag gespeicherte Informationen enthalten. Diese Nachrichten werden erstellt, indem NDEF-Datensätze in eine Containerstruktur namens NDEF-Nachricht eingefügt werden.
Jeder Datensatz enthält einen bestimmten Datentyp, der an seinem Feldwert im Format 'Nutzlast' erkannt werden kann. Meistens enthalten die Daten URLs, Uniform Resource Identifiers (URIs), NDEF-Nachrichten oder MIME-Typen, um den Inhalt der Daten zu identifizieren.
NDEF-Datensätze bestehen aus drei Teilen:
- Kopfzeile
- Nutzlast
- Fußzeile
Die Kopfzeile definiert den Typ des Datensatzes und wo die Nutzdaten beginnen. Die Ausnahme sind NDEF URI-Datensätze, die keine Nutzdaten enthalten. Die Fußzeile ist lediglich ein String-Terminator, der das Ende des Datensatzes markiert.
Das NDEF-Format ermöglicht es, mehrere Arten von Daten auf einem einzigen Tag zu speichern, was es perfekt für Anwendungen wie kontaktlose Zahlungen und Marketingkampagnen macht.
Was sind NDEF-Spezifikationen?
Mehrere Spezifikationen sorgen dafür, dass NFC-Tags und -Geräte miteinander kompatibel sind. Dies ist wichtig, um Interoperabilitätsprobleme zwischen verschiedenen Herstellern zu vermeiden.
Die Spezifikation des NFC-Forums definiert Richtlinien für das Schreiben, Formatieren und Kodieren von NDEF-Daten. Dadurch wird sichergestellt, dass alle Hersteller kompatible Inhalte auf NFC-Tags schreiben.
Einer der wichtigsten Teile dieser Spezifikation ist die NDEF-Datenträgertabelle. Sie gibt die Arten von Datensätzen an, die in eine NDEF-Nachricht aufgenommen werden können, und welche Aktion das Gerät beim Auftreten der einzelnen Datensätze durchführen soll. Wenn Sie z.B. einen URI im NDEF-Format auf einen NFC-Tag schreiben möchten, muss dies in der Tabelle der Datensatztypen angegeben werden. Andernfalls wüsste das Gerät nicht, was es tun soll, wenn es auf diesen Datensatz trifft.
Vorteile der Verwendung des NDEF-Formats
Der offensichtlichste Vorteil des NDEF-Formats ist die Kompatibilität. Es bietet ein weithin akzeptiertes Format, mit dem NFC-Benutzer problemlos Daten austauschen können. Zu den weiteren Vorteilen gehören:
- Es gibt keine Mindest- oder Höchstgröße für einen NDEF-Datensatz. Dadurch können Sie mehr Informationen auf Ihren NFC-Tags speichern als in den meisten anderen Formaten. So können Sie beispielsweise einen NDEF-Datensatz verwenden, um ein YouTube-Video oder die URL einer Fotogalerie zu speichern, was für viele andere Formate zu groß wäre.
- Das NDEF-Format wird von fast allen NFC-Geräten und Betriebssystemen unterstützt. Die einzige Ausnahme sind die alten Windows Phone 7-Geräte, die das NDEF-Format beim Lesen von NFC-Tags nicht unterstützen.
- NDEF-Datensätze können verwendet werden, um mehrere Daten in einem einzigen NFC-Tag zu speichern. Wenn Sie mehr Informationen in einem einzigen Tag unterbringen müssen, ist dies das Format, das Sie verwenden sollten. Das Tolle an der Verwendung von NDEF zum Speichern Ihrer Informationen ist, dass andere NFC-Tags damit Informationen aus verschiedenen Quellen lesen und zusammenfassen können.
Was ist eine NDEF-Datensatztyp-Tabelle?
Wie bereits erwähnt, definiert die NDEF-Datensatztypentabelle, welche Arten von Datensätzen in eine NDEF-Nachricht aufgenommen werden können und welche Aktionen von den Geräten, die auf diese Datensätze stoßen, ausgeführt werden sollten.
Wie Sie gesehen haben, ermöglicht das NDEF-Format die Speicherung mehrerer Arten von Daten auf einem einzigen Tag. Damit eignet es sich perfekt für Anwendungen wie kontaktlose Zahlungen und Marketingkampagnen, die eine Vielzahl unterschiedlicher Datenformate erfordern.
Um diesen Prozess für Entwickler zu vereinfachen, hat Android einige APIs implementiert, mit denen NDEF-Nachrichten direkt bearbeitet werden können.