अधिसूचना क्लिक पर उपयोगकर्ताओं को एक पृष्ठ पर पुनर्निर्देशित कैसे करें
मैं फायरबस सर्वर के साथ स्पंदन ऐप और वेब पर काम कर रहा हूं। मैं क्लाउड फ़ंक्शंस का उपयोग करके सूचनाएं भेजता हूं। मैं उपयोगकर्ताओं को एक विशिष्ट पृष्ठ पर पुनर्निर्देशित करना चाहता हूं जब वे एक अधिसूचना प्राप्त करते हैं और उस पर क्लिक करते हैं। अभी के लिए, मेरा ऐप एक होम पेज दिखाता है, जब मुझे एक सूचना मिलती है और उस पर क्लिक करते हैं। जब उपयोगकर्ता कोई सूचना प्राप्त करते हैं और उस पर क्लिक करते हैं, तो मैं 'होम पेज' के बजाय 'विस्तार पृष्ठ' का अनुरोध कैसे कर सकता हूं?
जवाब
AndroidManifest फ़ाइल के अंदर इसे जोड़ें
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
सूचना डेटा के अंदर, एक विशिष्ट पृष्ठ पर नेविगेट करने के लिए click_action और अपने आवश्यक पैरामीटर जोड़ें
'data': {
'click_action': 'FLUTTER_NOTIFICATION_CLICK',
'product_id': 1,
...
},
जब उपयोगकर्ता अधिसूचना पर क्लिक करता है तो इन तीनों घटनाओं में से एक आपके ऐप की स्थिति पर निर्भर करेगा।
_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);
},
);
संदेश से सूचना डेटा पुनः प्राप्त करें और अपने इच्छित पृष्ठ पर नेविगेट करें।
SecondScreen अन्य स्क्रीन का वर्ग नाम है।
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
Navigator.push(context,
MaterialPageRoute(builder: (BuildContext context) {
return SecondScreen(
message,
);
}));
print("onMessage: $message");
_showItemDialog(message);
},
);