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