cómo redirigir a los usuarios a una página al hacer clic en una notificación
Estoy trabajando en la aplicación Flutter y en la web con el servidor Firebase. Envío notificaciones usando funciones en la nube. Quiero redirigir a los usuarios a una página específica cuando reciben una notificación y hacen clic en ella. Por ahora, mi aplicación muestra 'página de inicio' cuando recibo una notificación y hago clic en ella. ¿Cómo puedo redirigir a la 'página de solicitud de detalles' en lugar de la 'página de inicio' cuando los usuarios reciben una notificación y hacen clic en ella?
Respuestas
Agregue esto dentro del archivo AndroidManifest
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
Dentro de los datos de notificación, agregue click_action y su parámetro requerido para navegar a una página específica
'data': {
'click_action': 'FLUTTER_NOTIFICATION_CLICK',
'product_id': 1,
...
},
Cuando el usuario hace clic en la notificación, uno de estos tres eventos se activará según el estado de su aplicación.
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
print("onMessage: $message"); _showItemDialog(message); }, onBackgroundMessage: myBackgroundMessageHandler, onLaunch: (Map<String, dynamic> message) async { print("onLaunch: $message");
_navigateToItemDetail(message);
},
onResume: (Map<String, dynamic> message) async {
print("onResume: $message");
_navigateToItemDetail(message);
},
);
Recupere los datos de notificación del mensaje y navegue a la página deseada.
SecondScreen es el nombre de clase de otra pantalla.
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
Navigator.push(context,
MaterialPageRoute(builder: (BuildContext context) {
return SecondScreen(
message,
);
}));
print("onMessage: $message");
_showItemDialog(message);
},
);