I tag NFC memorizzano i dati in un formato speciale chiamato NDEF (NFC Data Exchange Format) creato da NFC Forum. Definisce la struttura dei dati e può essere implementato in NdefMessage o NdefRecord.
Per questo motivo, il formato NDEF consente di memorizzare più tipi di dati su un unico tag, rendendolo perfetto per applicazioni come i pagamenti contactless e le campagne di marketing. In questo articolo, parliamo del formato NDEF e delle sue caratteristiche principali.
Che cos'è il formato NDEF?
Il formato NDEF è una struttura dati standard che può essere utilizzata per codificare le informazioni sui tag NFC. Consente uno scambio di dati impeccabile tra dispositivi NFC compatibili e tag NFC. Il formato dei dati è composto principalmente da:
- Registri NDEF
- Messaggi NDEF
Registri NDEF
I record NDEF sono costituiti da tre componenti principali:
- Un identificatore del tipo di record
- I dati effettivi che vengono memorizzati
- Un controllo di ridondanza ciclico (CRC) per una garanzia integrità dei dati
Identificatore del tipo di record
L'identificatore del tipo di record indica al lettore NFC il tipo di informazione memorizzata in quel particolare record NDEF.
Ad esempio, se un terminale di pagamento contactless interagisce con un tag NFC, leggerà l'identificatore del tipo di record ed elaborerà solo i record NDEF relativi al pagamento.
L'identificatore del tipo di record può essere memorizzato in diversi formati, tra cui i record URI, i record di fornitura di servizi, i record URI &MIME o i record UDI di Eddystone.
Tipi di dati supportati da NDEF
I tipi di dati supportati dal formato NDEF sono i record URI, i record di tipo MIME e i record Service Discovery. Un tag NFC può memorizzare diverse informazioni o un tipo di dati per ogni record NDEF.
Ad esempio, potrebbe utilizzare diversi record URI per memorizzare l'URL del suo sito web, l'indirizzo di download di un'applicazione Android e le informazioni di contatto della sua azienda.
- Record URI
Questo tipo viene utilizzato esclusivamente per memorizzare i dati URI (Uniform Resource Identifier). Come suggerisce il nome, può essere utilizzato per indirizzare i dispositivi NFC verso fonti di vari tipi di dati URI. Ad esempio, URL di siti web, installazioni di applicazioni e informazioni di contatto.
- Record del tipo MIME
MIME è l'acronimo di Multipurpose Internet Mail Extension. Questo record memorizza sia un Uniform Resource Identifier (URI) che un record di tipo MIME nel formato NDEF. Il tipo MIME viene utilizzato per determinare come gestire le informazioni memorizzate nella parte URI del record, quindi deve sempre includerlo quando memorizza un contenuto su un tag NFC. Ad esempio, se ha memorizzato un record URI che punta a un sito web su un tag NFC, il tipo MIME per questo record deve essere 'text/HTML'.
- Record di scoperta del servizio
Questo record viene utilizzato per memorizzare le informazioni di scoperta dei servizi nel formato NDEF. Queste informazioni possono essere utilizzate dai dispositivi NFC 'scopribili' per determinare se si trovano all'interno della gamma di servizi rilevanti per loro.
Le informazioni memorizzate in un record NDEF di tipo C possono essere fino a 27 byte in totale.
- Record UID di Eddystone
Il record di tipo D viene utilizzato per memorizzare un identificatore unico sotto forma di URL conforme al protocollo Eddystone. Il formato esatto di questo URL dipenderà dal particolare protocollo Eddystone utilizzato.
Cosa sono i messaggi NDEF nel formato NDEF?
I messaggi NDEF sono i pacchetti di dati che contengono le informazioni memorizzate su un tag NFC. Questi messaggi vengono creati inserendo i record NDEF in una struttura contenitore chiamata Messaggio NDEF.
Ogni record contiene un tipo specifico di dati che può essere riconosciuto dal valore del campo di formato 'payload'. Molto spesso, i dati includono URL, Uniform Resource Identifier (URI), messaggi NDEF o tipi MIME per identificare il contenuto dei dati.
I record NDEF comprendono tre parti:
- Intestazione
- Carico utile
- Piè di pagina
L'intestazione definisce il tipo di record e dove inizia il carico utile. Fanno eccezione i record NDEF URI, che non hanno alcun carico utile. Il piè di pagina è solo un terminatore di stringhe che segna la fine del record.
Il formato NDEF consente di memorizzare più tipi di dati su un unico tag, rendendolo perfetto per applicazioni come i pagamenti contactless e le campagne di marketing.
Cosa sono le specifiche NDEF?
Diverse specifiche assicurano che i tag e i dispositivi NFC siano compatibili tra loro. Questo è essenziale per evitare problemi di interoperabilità tra i diversi produttori.
La specifica del Forum NFC definisce le linee guida per la scrittura, la formattazione e la codifica dei dati NDEF. Questo garantisce che tutti i produttori scriveranno contenuti compatibili sui tag NFC.
Una delle parti più importanti di questa specifica è la tabella dei tipi di record NDEF. Essa specifica i tipi di record che possono essere inclusi in un messaggio NDEF e l'azione che il dispositivo deve intraprendere quando ne incontra uno. Ad esempio, se si desidera scrivere un URI su un tag NFC utilizzando il formato NDEF, questo deve essere specificato nella tabella dei tipi di record; altrimenti, il dispositivo non saprebbe quale azione intraprendere quando incontra questo record.
Vantaggi dell'uso del formato NDEF
Il vantaggio più evidente del formato NDEF è la compatibilità. Offre un formato ampiamente accettato che consente agli utenti NFC di scambiare dati con facilità. Altri vantaggi sono:
- Non esiste una dimensione minima o massima per un record NDEF. Ciò consente di memorizzare più informazioni sui tag NFC rispetto alla maggior parte degli altri formati. Ad esempio, può utilizzare un record NDEF per memorizzare un video di YouTube o un URL di una galleria fotografica, che sarebbero troppo grandi per molti altri formati.
- Il formato NDEF è supportato da quasi tutti i dispositivi e sistemi operativi NFC. L'unica eccezione è rappresentata dai vecchi dispositivi Windows Phone 7, che non supportano il formato NDEF per la lettura dei tag NFC.
- I record NDEF possono essere utilizzati per memorizzare più dati in un singolo tag NFC. Se ha bisogno di inserire più informazioni in un singolo tag, questo è il formato da utilizzare. L'aspetto positivo dell'utilizzo di NDEF per la memorizzazione delle informazioni è che consente ad altri tag NFC di leggere e aggregare informazioni provenienti da fonti diverse.
Che cos'è una tabella dei tipi di record NDEF?
Come abbiamo discusso in precedenza, la Tabella dei tipi di record NDEF definisce quali tipi di record possono essere inclusi in un messaggio NDEF e quali azioni devono essere intraprese dai dispositivi che li incontrano.
Come ha visto, il formato NDEF consente di memorizzare più tipi di dati su un unico tag. Questo lo rende perfetto per applicazioni come i pagamenti contactless e le campagne di marketing che richiedono un'ampia gamma di formati di dati diversi.
Per facilitare questo processo agli sviluppatori, Android ha implementato alcune API che possono essere utilizzate per manipolare direttamente i messaggi NDEF.