In che ordine si agisce su più record?
I record si conservano nell'ordine in cui li scrivi, e le piattaforme di norma agiscono sul primo che riconoscono. Tutto quello che viene dopo resta a disposizione del software che va a cercarlo, e invisibile a chiunque altro. L'ordine è quindi una decisione da prendere di proposito.
Conservati in ordine, usati con criterio
Un messaggio NDEF è una sequenza ordinata, e un lettore riceve i record nell'ordine in cui sono stati scritti. Niente li riordina e niente li ordina per importanza.
Quello che varia è cosa fa il sistema operativo subito dopo. Percorre i record in cerca di qualcosa che sappia gestire, e si ferma al primo che trova.
Perché vince il primo record riconosciuto
Perché toccare un tag è un solo gesto con un solo esito atteso. Una piattaforma che offrisse un menu di tutti i record trasformerebbe un tocco in una decisione, il che ne tradisce il senso.
Nota la formulazione: il primo record che riconosce, non semplicemente il primo record. Un record in testa di un tipo che la piattaforma ignora viene saltato invece di bloccare quelli che seguono. È questo a rendere possibile progettare un ripiego.
Progettare un ripiego
Metti per primo il record su cui più vuoi che si agisca, e il ripiego dopo di lui.
Un indirizzo seguito da un record di testo semplice funziona bene. Dove l'indirizzo viene riconosciuto, vince lui e il testo non compare mai. Dove non lo è, il testo resta almeno leggibile da qualunque cosa vada a guardare.
Invertire quell'ordine rompe tutto sulle piattaforme che riconoscono i record di testo, perché vince il ripiego e l'azione vera non parte.
Prova l'ordine, non ragionarci sopra
Il comportamento delle piattaforme con più record è cambiato da una versione all'altra e differisce tra Android e iOS. Scrivere un tag e toccarlo con entrambi costa due minuti e chiude la questione per il pubblico che hai davvero.
L'errore che ne deriva
Un tag scritto aggiungendo i record uno alla volta, nell'ordine in cui sono venuti in mente, e poi installato senza verificare quale scatta.
Di solito funziona sul telefono di chi l'ha scritto, perché ha messo per caso il record importante per primo. Fallisce altrove per ragioni che nessuno collega all'ordine, e la diagnosi è difficile proprio perché il tag si legge alla perfezione e contiene tutto quello che deve.
Il rimedio è decidere l'ordine invece di ereditarlo, e verificare con una lettura che mostri ogni record invece che con un tocco che ne mostra uno.
Domande frequenti
Posso riordinare i record senza riscrivere il tag?
No. L'ordine è quello in cui sono conservati, quindi cambiarlo significa scrivere di nuovo il messaggio. Su un tag sbloccato è banale, su un tag bloccato è impossibile.
Lo stesso ordine si comporta uguale su Android e iPhone?
Non per forza, perché le due piattaforme riconoscono tipi di record diversi. Un record ignorato da una viene saltato e usato dall'altra, il che può far comportare lo stesso tag in modo diverso.
C'è un modo di imporre l'uso di un record preciso?
Non dal lato del tag, oltre a metterlo per primo e a sceglierne un tipo che la piattaforma di destinazione riconosca. La decisione appartiene al sistema operativo e non è qualcosa che un tag possa scavalcare.
Le applicazioni vedono i record che il sistema ha ignorato?
Un'applicazione che legge il tag direttamente riceve il messaggio intero e può usare il record che preferisce. La selezione descritta qui riguarda il sistema che decide cosa fare a un tocco.