Si el usuario deniega notificaciones en Flutter, deja de insistir con el diálogo del sistema, muestra qué alerta concreta está desactivada y ofrece abrir Ajustes solo cuando la persona pulse una acción voluntaria. Al volver a la app, consulta otra vez el permiso y registra el token de Firebase únicamente si el estado permite el envío.
Índice
¿Qué estados debe distinguir la interfaz de notificaciones?
Debe distinguir no solicitado, autorizado, autorización limitada cuando la plataforma la exponga, denegado y estado pendiente de volver a comprobar. No reduzcas todo a un booleano, porque el siguiente paso cambia según si el sistema aún puede mostrar el prompt.
La pantalla explica la consecuencia funcional: por ejemplo, “no recibirás el aviso que acabas de activar”. No bloquees el resto de la app ni presentes el permiso como obligatorio si la función principal puede continuar.
¿Cuál es la forma rápida: usar el flujo móvil de IndiePack?
La forma rápida es partir de IndiePack, que combina Flutter para iOS y Android, Firebase con push nativo y componentes preparados para producción. Sobre esa base añades el momento y el texto propios de cada alerta.
Ver IndiePackVer precio¿Cuándo conviene mostrar el diálogo del sistema?
Conviene mostrarlo después de una acción que revele el beneficio, como activar un recordatorio o seguir un evento. Una pantalla previa breve puede explicar frecuencia y control; después, el diálogo del sistema recoge la decisión real.
No lo pidas automáticamente en el primer arranque. La guía sobre Flutter, Firebase y notificaciones push también sitúa el permiso cuando el usuario entiende el valor, no antes de conocer el producto.
¿Cómo se recupera el permiso desde Ajustes sin crear un bucle?
Se recupera mostrando un botón “Abrir Ajustes” tras una denegación que ya no puede resolverse con el prompt. Cuando la app vuelve al primer plano, vuelve a consultar el estado y actualiza la UI; no des por hecho que el usuario lo cambió.
Si queda autorizado, obtén o actualiza el token y asócialo a la cuenta e instalación correctas. Si sigue denegado, conserva el mensaje sin abrir Ajustes automáticamente ni repetir avisos en cada visita.
¿Cómo se prueba el permiso denegado en iOS y Android?
Se prueba desde instalación limpia, primera denegación, denegación persistente, apertura de Ajustes, vuelta sin cambios, autorización posterior y revocación. Incluye cierre de sesión para que un token no quede vinculado a otra persona.
Comprueba además el segmento del servidor con el patrón de push solo para usuarios premium. IndiePack aporta la ruta móvil; una UX correcta respeta el no, explica el beneficio y sincroniza Firebase sin engañar al usuario.