kullanıcılar bildirim tıklandığında bir sayfaya nasıl yönlendirilir

Jan 06 2021

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

Shanto Jan 06 2021 at 21:19

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.

MuhammadTameemRafay Jan 06 2021 at 22:53

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);
      },
     
    );