วิธีเปลี่ยนเส้นทางผู้ใช้ไปยังเพจเมื่อคลิกการแจ้งเตือน
ฉันกำลังทำงานเกี่ยวกับแอพพลิเคชั่นและเว็บที่มีเซิร์ฟเวอร์ Firebase ฉันส่งการแจ้งเตือนโดยใช้ฟังก์ชันคลาวด์ ฉันต้องการเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าที่ต้องการเมื่อได้รับการแจ้งเตือนและคลิกที่หน้านั้น ในตอนนี้แอปของฉันจะแสดง 'โฮมเพจ' เมื่อฉันได้รับการแจ้งเตือนและคลิกที่มัน ฉันจะเปลี่ยนเส้นทางไปที่ 'หน้าขอรายละเอียด' แทน 'โฮมเพจ' ได้อย่างไรเมื่อผู้ใช้ได้รับการแจ้งเตือนและคลิกที่หน้านั้น
คำตอบ
Shanto
เพิ่มสิ่งนี้ในไฟล์ 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);
},
);
ดึงข้อมูลการแจ้งเตือนจากข้อความและไปที่หน้าที่คุณต้องการ
MuhammadTameemRafay
SecondScreen คือชื่อคลาสของหน้าจออื่น ๆ
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
Navigator.push(context,
MaterialPageRoute(builder: (BuildContext context) {
return SecondScreen(
message,
);
}));
print("onMessage: $message");
_showItemDialog(message);
},
);