Saltar al contenido
Idioma: ES

¿En qué orden actúan varios registros?

Los registros se guardan en el orden en que los escribes, y las plataformas actúan por lo general sobre el primero que reconocen. Todo lo que va después queda a disposición del software que lo busque, e invisible para todos los demás. El orden es por tanto una decisión que hay que tomar a propósito.

Guardados por orden, atendidos con criterio

Un mensaje NDEF es una sucesión ordenada, y un lector recibe los registros en el orden en que se escribieron. Nada los reordena y nada los clasifica por importancia.

Lo que varía es lo que hace el sistema operativo a continuación. Recorre los registros buscando algo que sepa atender, y se detiene en el primero que encuentra.

Por qué gana el primer registro reconocido

Porque tocar una etiqueta es un solo gesto con un solo resultado esperado. Una plataforma que ofreciera un menú de todos los registros convertiría un toque en una decisión, lo que echa por tierra la idea.

Fíjate en la formulación: el primer registro que reconoce, no simplemente el primer registro. Un registro inicial de un tipo que la plataforma ignora se salta en lugar de bloquear los que vienen detrás. Eso es lo que hace posible diseñar un recurso de reserva.

Diseñar un recurso de reserva

Pon primero el registro sobre el que más quieres que se actúe, y la reserva detrás.

Una URL seguida de un registro de texto sin formato funciona bien. Donde se reconoce la URL, gana ella y el texto no llega a mostrarse. Donde no se reconoce, el texto es al menos legible para lo que sí mire.

Invertir ese orden lo rompe en las plataformas que sí reconocen los registros de texto, porque gana la reserva y la acción de verdad no llega a ejecutarse.

Prueba el orden, no razones sobre él

El comportamiento de las plataformas con varios registros ha variado entre versiones y difiere entre Android e iOS. Escribir una etiqueta y tocarla con los dos lleva dos minutos y zanja la cuestión para tu público real.

El error que esto provoca

Una etiqueta escrita añadiendo registros de uno en uno, en el orden en que se le ocurrieron a quien la escribió, y desplegada después sin comprobar cuál se dispara.

Suele funcionar en el teléfono de quien la escribió, porque escribió primero el registro importante sin querer. Falla en otros sitios por razones que nadie relaciona con el orden, y el diagnóstico es difícil precisamente porque la etiqueta se lee de maravilla y contiene todo lo que debe.

El arreglo consiste en decidir el orden en lugar de heredarlo, y en comprobarlo con una lectura que muestre todos los registros y no con un toque que muestra uno.

Preguntas frecuentes

¿Puedo reordenar los registros sin reescribir la etiqueta?

No. El orden es aquel en que están guardados, así que cambiarlo significa escribir el mensaje otra vez. En una etiqueta sin bloquear eso es trivial, y en una bloqueada es imposible.

¿El mismo orden se comporta igual en Android y en iPhone?

No necesariamente, porque las dos plataformas reconocen tipos de registro distintos. Un registro que una ignora se salta y la otra lo atiende, lo que puede hacer que la misma etiqueta se comporte de forma distinta.

¿Hay alguna manera de forzar que se use un registro concreto?

Desde el lado de la etiqueta no, más allá de ponerlo primero y elegir un tipo que la plataforma de destino reconozca. La decisión es del sistema operativo y no es algo que una etiqueta pueda invalidar.

¿Las aplicaciones ven los registros que el sistema ignoró?

Una aplicación que lea la etiqueta directamente recibe el mensaje entero y puede usar el registro que quiera. La selección que se describe aquí atañe al sistema decidiendo qué hacer al tocar.