【发布时间】:2022-07-01 22:27:55
【问题描述】:
我通过点击 Flutter 项目中的 FCM 推送通知将逻辑重定向到特定屏幕。
这是 main.dart 文件中的重定向代码。
main.dart
Future onSelectNotification(String payload) async {
NotificationModel notification = NotificationModel.fromJson(jsonDecode(payload));
switch (notification.screen) {
case 'goals':
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DashboardScreen(openGoals: true),
),
);
break;
case 'contacts-contactview-insight':
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ContactsProspectScreen(notification.id),
),
);
break;
case 'share-article':
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ArticleViewScreen(notification.id),
),
);
break;
case 'news-details':
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => NewsViewScreen(notification.id),
),
);
break;
default:
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DashboardScreen(),
),
);
break;
}
}
在 iOS 上运行应用程序时,如果点击推送通知,它会重定向到特定屏幕。
第一次它从锁定屏幕打开特定屏幕,但从第二次它不会从 iOS 的锁定屏幕重定向到屏幕。
当我在 android 设备上测试它时,重定向在锁定屏幕上效果很好。
【问题讨论】:
-
你的控制台有错误吗?
-
可以打印payload并分享日志吗
-
API响应正确正常
标签: ios flutter firebase-cloud-messaging deep-linking