Saltar al contenido
Idioma: ES

¿Debe instalarse una app NFC en teléfonos sin NFC?

Depende de si el NFC es la app o una de sus funciones. Declarado como obligatorio, las dos tiendas mantienen la app lejos de los aparatos sin radio. Declarado como opcional, se instala en todas partes, y el código tiene que detectar la ausencia y decir algo útil.

Sobre qué filtra Android

La declaración es uses-feature en el manifiesto, con android.hardware.nfc para la radio y android.hardware.nfc.hce para la emulación de tarjeta alojada en el aparato. La referencia dice con todas las letras para qué sirve: Google Play usa estos elementos para apartar una app de los aparatos que no cumplen sus requisitos.

El atributo required es toda la decisión. Verdadero significa que la app no puede funcionar sin la función, y la tienda la esconde de los teléfonos que no la tienen; falso significa que la app la prefiere y funciona sin ella, y la tienda la deja visible en todas partes.

Sobre qué filtra la App Store

La misma idea vive en el Info.plist. UIRequiredDeviceCapabilities enumera las funciones que una app exige del aparato, y Apple enuncia la consecuencia sin rodeos: la App Store impide instalar una app en un aparato que no las admite. El valor para esta es nfc, documentado como etiquetas NFC, disponible desde iOS 11 y no disponible en visionOS.

La clave admite una lista, donde un valor enumerado significa obligatorio, o un diccionario, donde un valor se puede poner a falso para decir que la función no debe estar presente. Omitirla dice que la app ni exige ni rechaza la función, que es el equivalente de la declaración opcional de Android.

Cuál declarar

Obligatorio, cuando la app no tiene sentido sin una etiqueta: un grabador de etiquetas, un lector para tu propio despliegue, una herramienta cuya cada pantalla supone la radio. Filtrar es hacerle un favor a la gente, y la alternativa es una opinión de una estrella desde un teléfono que nunca habría podido funcionar.

Opcional, cuando el NFC acorta algo que la app ya hace de otra manera: una tarjeta de fidelización que también escanea un código, una entrada que también enseña un código de barras, una herramienta de configuración con camino manual. Filtrar esas fuera de una tienda cuesta usuarios a los que habría servido perfectamente.

A qué obliga lo opcional

Una declaración opcional es una promesa de que la app funciona sin la radio, y el código tiene que cumplirla. Detecta la ausencia, esconde lo que no puede funcionar, y conserva el camino que no necesita etiqueta, cosa que la página del NFC apagado o ausente expone estado por estado.

Significa además probar en un teléfono sin NFC, que es la única prueba que el juego de etiquetas no puede cubrir con etiquetas. Con un emulador o un aparato viejo basta: lo que importa es que la app abra, no explique nada que no necesite explicar, y haga su otro trabajo.

Preguntas frecuentes

¿Obligatorio esconde mi app de algunos teléfonos?

Sí. Google Play filtra por uses-feature, y la App Store impide instalarla en aparatos que no tienen una función declarada obligatoria.

¿Qué valor declaro?

android.hardware.nfc en Android, más android.hardware.nfc.hce para la emulación de tarjeta, y el valor nfc de UIRequiredDeviceCapabilities en iOS.

¿Puedo declararlo opcional y usar NFC igualmente?

Sí, y de eso se trata: la app se instala en todas partes y comprueba en ejecución antes de ofrecer la función.

¿Qué se rompe si olvido la declaración?

Nada visible al principio. La app se instala en teléfonos que no pueden usarla, y el fallo cae sobre la gente en vez de sobre la ficha de la tienda.