comment rediriger les utilisateurs vers une page lors d'un clic de notification
Je travaille sur l'application Flutter et sur le Web avec le serveur Firebase. J'envoie des notifications à l'aide des fonctions cloud. Je souhaite rediriger les utilisateurs vers une page spécifique lorsqu'ils reçoivent une notification et cliquent dessus. Pour l'instant, mon application affiche la «page d'accueil» lorsque je reçois une notification et que je clique dessus. Comment puis-je rediriger vers la «page de détails de la demande» au lieu de la «page d'accueil» lorsque les utilisateurs reçoivent une notification et cliquent dessus?
Réponses
Ajoutez ceci dans le fichier AndroidManifest
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
À l'intérieur des données de notification, ajoutez click_action et votre paramètre requis pour accéder à une page spécifique
'data': {
'click_action': 'FLUTTER_NOTIFICATION_CLICK',
'product_id': 1,
...
},
Lorsque l'utilisateur clique sur la notification, l'un de ces trois événements se déclenche en fonction de l'état de votre application.
_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);
},
);
Récupérez les données de notification du message et accédez à la page souhaitée.
SecondScreen est le nom de classe d'un autre écran.
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
Navigator.push(context,
MaterialPageRoute(builder: (BuildContext context) {
return SecondScreen(
message,
);
}));
print("onMessage: $message");
_showItemDialog(message);
},
);