React-native:使用 zo0r/react-native-push-notification 显示前台通知,如后台通知
React-native: display foreground notifications like background notifications with zo0r/react-native-push-notification
我已经使用 zo0r / react-native-push-notification 在我的 React-native 应用程序上设置了推送通知。它适用于 Android,当应用程序处于后台模式时,它适用于 iOS。
但是,当应用处于 iOS 的前台模式时,通知不会显示。我知道我必须在前台模式下处理通知,但我想以与在后台模式下完全相同的方式显示它们。
所以我做了以下事情:
import {PushNotificationIOS} from 'react-native';
PushNotification.configure({
...
onNotification: function(notification) {
if (notification.foreground) {
PushNotification.localNotification(notification);
}
notification.finish(PushNotificationIOS.FetchResult.NoData);
},
...
}
但是没有任何反应,通知仍然没有显示,我错过了什么?
我必须在 ios 文件中添加一些配置 AppDelegate.m
按照这个 gist 确实成功了。
我的代码如下:
onNotification(notification) {
if (isIos) {
if (
notification.foreground &&
(notification.userInteraction || notification.remote)
) {
PushNotification.localNotification(notification);
}
notification.finish(PushNotificationIOS.FetchResult.NoData);
} else {
if (notification.foreground) {
PushNotification.localNotification(notification);
}
}
},
我也把popInitialNotification
设为true
我已经使用 zo0r / react-native-push-notification 在我的 React-native 应用程序上设置了推送通知。它适用于 Android,当应用程序处于后台模式时,它适用于 iOS。
但是,当应用处于 iOS 的前台模式时,通知不会显示。我知道我必须在前台模式下处理通知,但我想以与在后台模式下完全相同的方式显示它们。
所以我做了以下事情:
import {PushNotificationIOS} from 'react-native';
PushNotification.configure({
...
onNotification: function(notification) {
if (notification.foreground) {
PushNotification.localNotification(notification);
}
notification.finish(PushNotificationIOS.FetchResult.NoData);
},
...
}
但是没有任何反应,通知仍然没有显示,我错过了什么?
我必须在 ios 文件中添加一些配置 AppDelegate.m
按照这个 gist 确实成功了。
我的代码如下:
onNotification(notification) {
if (isIos) {
if (
notification.foreground &&
(notification.userInteraction || notification.remote)
) {
PushNotification.localNotification(notification);
}
notification.finish(PushNotificationIOS.FetchResult.NoData);
} else {
if (notification.foreground) {
PushNotification.localNotification(notification);
}
}
},
我也把popInitialNotification
设为true