Les étiquettes NFC stockent les données dans un format spécial appelé NDEF (NFC Data Exchange Format) créé par le Forum NFC. Il définit la structure des données et peut être implémenté dans NdefMessage ou NdefRecord.
En tant que tel, le format NDEF permet de stocker plusieurs types de données sur une seule étiquette, ce qui le rend parfait pour des applications telles que les paiements sans contact et les campagnes de marketing. Dans cet article, nous abordons le format NDEF et ses principales caractéristiques.
Qu'est-ce que le format NDEF ?
Le format NDEF est une structure de données standard qui peut être utilisée pour encoder des informations sur les tags NFC. Il permet un échange de données sans faille entre les appareils NFC compatibles et les tags NFC. Le format de données se compose principalement de :
- Archives du FNED
- Messages NDEF
Archives du FNED
Les enregistrements NDEF sont constitués de trois éléments principaux :
- Un identifiant de type d'enregistrement
- Les données réelles qui sont stockées
- Un contrôle de redondance cyclique (CRC) pour une garantie l'intégrité des données
Identifiant du type d'enregistrement
L'identificateur de type d'enregistrement indique au lecteur NFC quel type d'information est stocké sur cet enregistrement NDEF particulier.
Par exemple, si un terminal de paiement sans contact interagit avec une étiquette NFC, il lira l'identifiant de type d'enregistrement et ne traitera que les enregistrements NDEF liés au paiement.
L'identifiant du type d'enregistrement peut être stocké dans différents formats, notamment les enregistrements URI, les enregistrements de prestation de services, les enregistrements URI &MIME ou les enregistrements UDI Eddystone.
Types de données pris en charge par NDEF
Les types de données pris en charge par le format NDEF sont les enregistrements URI, les enregistrements de type MIME et les enregistrements de découverte de service. Une étiquette NFC peut stocker diverses informations ou un type de données par enregistrement NDEF.
Par exemple, vous pouvez utiliser différents enregistrements URI pour stocker l'URL de votre site Web, l'adresse de téléchargement d'une application Android et les informations de contact de votre entreprise.
- Dossier URI
Ce type est utilisé uniquement pour stocker des données URI (Uniform Resource Identifier). Comme son nom l'indique, il peut être utilisé pour pointer les dispositifs NFC vers des sources de divers types de données URI. Par exemple, les URL de sites Web, les installations d'applications et les informations de contact.
- Enregistrement du type MIME
MIME est l'abréviation de Multipurpose Internet Mail Extension. Cet enregistrement stocke à la fois un identificateur de ressources uniformes (URI) et un enregistrement de type MIME au format NDEF. Le type MIME est utilisé pour déterminer comment traiter les informations stockées dans la partie URI de l'enregistrement. Vous devez donc toujours l'inclure lorsque vous stockez du contenu sur une étiquette NFC. Par exemple, si vous stockez un enregistrement URI pointant vers un site Web sur une étiquette NFC, le type MIME de cet enregistrement doit être 'text/HTML'.
- Enregistrement de découverte de service
Cet enregistrement est utilisé pour stocker des informations de découverte de services au format NDEF. Ces informations peuvent être utilisées par les dispositifs NFC "découvrables" pour déterminer s'ils se trouvent dans la gamme des services qui les concernent.
Les informations stockées dans un enregistrement NDEF de type C peuvent compter jusqu'à 27 octets au total.
- Enregistrement de l'UID d'Eddystone
L'enregistrement de type D est utilisé pour stocker un identifiant unique sous la forme d'une URL conforme au protocole Eddystone. Le format exact de cette URL dépendra du protocole Eddystone particulier utilisé.
Que sont les messages en format NDEF ?
Les messages NDEF sont les paquets de données qui contiennent les informations stockées sur une étiquette NFC. Ces messages sont créés en plaçant des enregistrements NDEF dans une structure conteneur appelée message NDEF.
Chaque enregistrement contient un type spécifique de données qui peut être reconnu par la valeur de son champ de format "payload". Le plus souvent, les données comprennent des URL, des identificateurs de ressources uniformes (URI), des messages NDEF ou des types MIME pour identifier le contenu des données.
Les enregistrements du NDEF comprennent trois parties :
- En-tête
- Charge utile
- Pied de page
L'en-tête définit le type d'enregistrement et l'endroit où commence la charge utile. L'exception à cette règle est constituée par les enregistrements NDEF URI qui n'ont pas de données utiles. Le pied de page est simplement un terminateur de chaîne marquant la fin de l'enregistrement.
Le format NDEF permet de stocker plusieurs types de données sur une seule étiquette, ce qui le rend parfait pour des applications telles que les paiements sans contact et les campagnes de marketing.
Que sont les spécifications NDEF ?
Plusieurs spécifications garantissent que les étiquettes et les dispositifs NFC sont compatibles entre eux. C'est essentiel pour éviter tout problème d'interopérabilité entre les différents fabricants.
La spécification du Forum NFC définit des lignes directrices pour l'écriture, le formatage et l'encodage des données NDEF. Cela garantit que tous les fabricants écriront un contenu compatible sur les étiquettes NFC.
L'une des parties les plus importantes de cette spécification est la table des types d'enregistrements NDEF. Elle spécifie les types d'enregistrements qui peuvent être inclus dans un message NDEF et l'action à entreprendre par le périphérique lorsque chacun d'eux est rencontré. Par exemple, si vous voulez écrire une URI sur une étiquette NFC en utilisant le format NDEF, cela doit être spécifié dans la table des types d'enregistrement, sinon le dispositif ne saura pas quelle action entreprendre lorsqu'il rencontrera cet enregistrement.
Avantages de l'utilisation du format NDEF
L'avantage le plus évident du format NDEF est la compatibilité. Il offre un format largement accepté qui permet aux utilisateurs NFC d'échanger des données en toute simplicité. Parmi ses autres avantages, citons :
- Il n'y a pas de taille minimale ou maximale pour un enregistrement NDEF. Il est donc possible de stocker plus d'informations sur vos étiquettes NFC que dans la plupart des autres formats. Par exemple, vous pouvez utiliser un enregistrement NDEF pour stocker une vidéo YouTube ou l'URL d'une galerie photo, ce qui serait trop grand pour de nombreux autres formats.
- Le format NDEF est pris en charge par presque tous les appareils et systèmes d'exploitation NFC. La seule exception concerne les anciens appareils Windows Phone 7, qui ne prennent pas en charge le format NDEF lors de la lecture des étiquettes NFC.
- Les enregistrements NDEF peuvent être utilisés pour stocker plusieurs éléments de données dans une seule balise NFC. Si vous devez faire tenir plus d'informations dans un seul tag, c'est le format que vous devez utiliser. L'avantage d'utiliser NDEF pour stocker vos informations est qu'il permet à d'autres tags NFC de lire et d'agréger des informations provenant de différentes sources.
Qu'est-ce qu'une table de type d'enregistrement NDEF ?
Comme nous l'avons vu plus haut, la table des types d'enregistrements NDEF définit les types d'enregistrements qui peuvent être inclus dans un message NDEF et les actions à entreprendre par les appareils qui les rencontrent.
Comme vous l'avez vu, le format NDEF permet de stocker plusieurs types de données sur une seule étiquette. Il est donc parfait pour les applications telles que les paiements sans contact et les campagnes de marketing qui nécessitent un large éventail de formats de données différents.
Pour faciliter ce processus pour les développeurs, Android a mis en place certaines API qui peuvent être utilisées pour manipuler directement les messages NDEF.