Volver a las guías

Una etiqueta NFC de Wi-Fi para iPhone y Android: añade una URL de respaldo

Crea una etiqueta NFC de Wi-Fi para iPhone y Android: escribe primero el registro Wi-Fi y después un registro URL de respaldo. Te explicamos por qué importa el orden.

Publicado

Escribe primero el registro Wi-Fi y después un registro URL

Para una etiqueta NFC de Wi-Fi que funcione con invitados que usan iPhone y Android, pon dos registros en la misma etiqueta: primero uno de Wi-Fi y después uno de URL. Android puede actuar con el primero. Según lo que cuentan quienes han probado, el iPhone ignora el registro Wi-Fi, así que el registro URL es su vía de entrada.

Los dos registros

El registro Wi-Fi. Es un registro NDEF de tipo MIME con el tipo application/vnd.wfa.wsc. La carga útil es una lista de campos etiqueta/valor. El ejemplo de SparkFun lo muestra empezando con el identificador de credencial Wi-Fi 0x100E, con el nombre de la red y la clave guardados como atributos. No vas a construir esos bytes a mano. Para ver el detalle campo por campo, consulta el registro WSC explicado.

El registro URL. Es un registro de tipo conocido U: un byte de prefijo para cosas como https://www. y después el resto de la dirección. Apúntalo a una página tuya que muestre el nombre de la red y la contraseña en texto plano, además de un código QR con las mismas credenciales.

Record 1: MIME  application/vnd.wfa.wsc   (Wi-Fi credentials)
Record 2: URI   https://example.com/wifi   (fallback page)

Qué hace Android con la etiqueta

La documentación de distribución de etiquetas de Android dice que el sistema lee el primer registro del mensaje para decidir cómo interpretarlo. Un registro MIME se asigna a un tipo MIME. Por eso el registro Wi-Fi va primero.

Hay un segundo motivo para que la URL no vaya delante. Desde Android 16, las etiquetas que guardan enlaces http:// o https:// lanzan una intención de ver el enlace. Desde Android 17, muestran una notificación de "abrir enlace" que requiere un toque. Con un enlace delante del registro Wi-Fi, el invitado acabaría en un navegador y no unido a la red.

Una salvedad: la documentación de Android describe cómo funciona la distribución. No dice qué hace con un registro Wi-Fi el ajuste de Wi-Fi de cada fabricante. Pruébalo en los móviles que usan tus invitados.

Qué hace un iPhone con la etiqueta

La charla sobre Core NFC de Apple dice que la lectura de etiquetas en segundo plano funciona con cualquier etiqueta NDEF cuyo mensaje incluya un registro URL. Añade que solo se procesa el primer registro URL detectado. Así que el registro Wi-Fi delante no oculta tu URL. El iPhone va a buscar la URL.

Lo que pasa después depende del enlace. Un Universal Link válido se enruta a su app. Cualquier otro va a Safari por defecto. Una dirección web normal abre tu página de respaldo, que es lo que quieres aquí. Hay más sobre esto en la lectura de etiquetas en segundo plano.

En cuanto al Wi-Fi, quienes lo han probado dicen que el iPhone no se une desde el registro Wi-Fi. Un aficionado programó una etiqueta Wi-Fi que funcionaba, comprobó que en iPhone no sirve y le pidió a Apple que lo admita. Un mensaje en un foro con iOS 17.4.1 cuenta lo mismo. Son experiencias individuales, no una declaración de Apple. Consulta por qué el iPhone no se une solo al Wi-Fi desde una etiqueta.

Dos detalles del iPhone: la lectura en segundo plano necesita que el teléfono se haya desbloqueado al menos una vez tras el arranque, y Apple cita como compatibles los iPhone XS, XS Max y XR (los modelos posteriores también, según el NFC Forum).

Escríbela y pruébala

  1. Escribe el registro Wi-Fi con el nombre de la red, el tipo de seguridad y la contraseña.
  2. Añade después el registro URL.
  3. Vuelve a leer la etiqueta y comprueba que el registro Wi-Fi es el primero.
  4. Acércala a un móvil Android y a un iPhone, con las versiones del sistema que usan tus invitados.
  5. Comprueba que la página de respaldo carga y que la contraseña es correcta.

NFCore, nuestra app para iOS y Android, puede escribir los dos registros en una sola etiqueta, así que no necesitas dos apps. Descárgala en la App Store o en Google Play.

Cualquiera que acerque el móvil a la etiqueta puede leer la contraseña. Usa una red de invitados, no la principal.

Resumen

Primero el registro Wi-Fi, después el registro URL. Android ve el primer registro, el iPhone encuentra la URL y tus invitados acaban con la contraseña en cualquier caso.

Preguntas frecuentes

¿Puede un iPhone unirse al Wi-Fi directamente desde una etiqueta NFC?

Quienes lo han probado dicen que no ofrece unirse desde un registro Wi-Fi, mientras que un registro URL sí funciona. No hemos encontrado una declaración de Apple al respecto, así que prueba con tu versión de iOS.

¿Importa el orden de los registros?

Sí. Android usa el primer registro para decidir cómo tratar la etiqueta. El iPhone procesa el primer registro URL que encuentra en el mensaje.

¿Es seguro poner una contraseña de Wi-Fi en una etiqueta?

Cualquiera que la acerque puede leer la contraseña. Usa una red de invitados y cambia la contraseña si la etiqueta se pierde.