我正在开发一个React Native项目,通过Firebase Cloud Messaging接收推送通知。我已经实现了onNotification(),onNotificationOpened()和getInitialNotification()方法。尽管当应用程序在前台和被强制关闭时,通知运作正常,但是当应用程序在后台(没有被强制关闭)时打开通知时,出现错误。下面是错误截图。我尝试过更改/注释掉通知代码,但错误仍然存在。我对React Native非常新手,不确定为什么会出现这个特定问题。希望能在这方面得到任何帮助。我已经更新了与Firebase和云消息相关的所有Pods。下面也是React Native代码。我还没有在Xcode中编写任何代码,因此Pod文件保持原样。
async createNotificationListeners() {
this.notificationListener = firebase.notifications().onNotification((notification) => {
if (notification) {
//const {title, body, data} = notification;
//this.displayNotification(title, body, data);
}
});
this.notificationOpenedListener = firebase.notifications().onNotificationOpened((notification) => {
const {data} = notification.notification;
if (data.url !== undefined) {
this.navigate2URL(data.url);
}else {
this.setState({url: 'test'});
this.webRef.reload();
}
//this.displayNotification(title, body + data);
});
const notificationOpen = await firebase.notifications().getInitialNotification();
if (notificationOpen) {
const {data} = notificationOpen.notification;
if (data.url !== undefined) {
this.setState({url: data.url});
} else {
this.setState({url: 'test'});
}
this.webRef.reload();
//this.displayNotification(title, body);
}
}