kullanıcılar bildirim tıklandığında bir sayfaya nasıl yönlendirilir
Firebase sunucusu ile flutter uygulaması ve web üzerinde çalışıyorum. Bulut işlevlerini kullanarak bildirimler gönderiyorum. Kullanıcıları bir bildirim aldıklarında ve üzerine tıkladıklarında belirli bir sayfaya yönlendirmek istiyorum. Şimdilik, bir bildirim aldığımda ve üzerine tıkladığımda uygulamam 'ana sayfa' gösteriyor. Kullanıcılar bir bildirim alıp tıkladığında 'ana sayfa' yerine 'ayrıntı sayfası isteme'ye nasıl yönlendirebilirim?
Yanıtlar
Bunu AndroidManifest dosyasına ekleyin
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
Bildirim verilerinin içinde, click_action ekleyin ve belirli bir sayfaya gitmek için gerekli parametreniz
'data': {
'click_action': 'FLUTTER_NOTIFICATION_CLICK',
'product_id': 1,
...
},
Kullanıcı bildirimi tıkladığında, uygulamanızın durumuna bağlı olarak bu üç olaydan biri tetiklenir.
_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);
},
);
Bildirim verilerini mesajdan alın ve istediğiniz sayfaya gidin.
SecondScreen, diğer ekranın sınıf adıdır.
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
Navigator.push(context,
MaterialPageRoute(builder: (BuildContext context) {
return SecondScreen(
message,
);
}));
print("onMessage: $message");
_showItemDialog(message);
},
);