我正在使用FCM传递通知,单击该通知会将用户带到应用程序上的特定页面。当前,onMessage和onResume函数可以正常工作,但启动时却不能。
我包括了
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
和
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
}
因为我也在使用抖动的本地通知。
我已经尝试删除这些行,但是它们没有任何作用。
答案 0 :(得分:1)
好吧,所以我遇到的问题是,在启动启动代码时,我的应用程序在加载初始页面时正在加载其他数据和函数。我要做的是在发射火灾时将通知保存在变量中。然后我在启动初始完成后执行了我想要的代码
onLaunch: (Map<String, dynamic> notification) async {
print("onLaunch: $notification");
///Saving the notification to use once the rest of the initialising and
///Loading is done
launchNotification = notification;
},
然后,一旦其他进程的加载和初始化完成,我就运行该功能
onLaunchFunction() async {
await Future.delayed(Duration(milliseconds: 100));
Map tempNotification = launchNotification;
if (launchNotification != null) {
launchNotification = null;
///The rest of the function
}
}
我添加了一个将来的延迟,以确保我的代码在初始化时能够运行。可能不需要