反应本机ios目标c,无法在前台接收推送通知

Posted

技术标签:

【中文标题】反应本机ios目标c,无法在前台接收推送通知【英文标题】:react native ios objective c, can't receive push notifications in foreground 【发布时间】:2020-07-16 09:23:36 【问题描述】:

我使用带有 Firebase 云消息传递的原生推送通知来处理接收推送。 我的问题是我无法在前台收到推送。

我的代码是:

 // Receive displayed notifications for ios 10 devices.
// Handle incoming notification messages while app is in the foreground.
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
       willPresentNotification:(UNNotification *)notification
         withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler 
  NSDictionary *userInfo = notification.request.content.userInfo;

  // With swizzling disabled you must let Messaging know about the message, for Analytics
  [[FIRMessaging messaging] appDidReceiveMessage:userInfo];

  // Print message ID.
  if (userInfo[kGCMMessageIDKey]) 
    NSLog(@"Message ID: %@", userInfo[kGCMMessageIDKey]);
  

  // Print full message.
  NSLog(@"%@", userInfo);

  // Change this to your preferred presentation option
  completionHandler(UNNotificationPresentationOptionBadge | UNNotificationPresentationOptionAlert);

【问题讨论】:

【参考方案1】:

https://medium.com/@anum.amin/react-native-integrating-push-notifications-using-fcm-349fff071591

此链接将对您有所帮助,先生。

你好,本教程适用于这个问题,尤其是在

import io.invertase.firebase.notifications.RNFirebaseNotificationsPackage;

RNFirebaseNotificationsPackage,我们遇到了同样的问题,并通过添加包修复了它:)

【讨论】:

我的问题是 ios 而不是 android 先生,请查看包含 IOS 解决方案的文章。 我看到这篇文章是FCM的旧版本,我用的是最新版本【参考方案2】:

在 FCM 中,如果您已经在前台,则不会显示通知。

您可以处理 3 种不同的推送通知情况。

    前景 背景 退出(应用未运行)

在情况 2、3 中,您似乎处理正确。 在情况 1 中,您必须在本地手动显示您的推送通知。

【讨论】:

我该怎么做? 你有答案吗?

以上是关于反应本机ios目标c,无法在前台接收推送通知的主要内容,如果未能解决你的问题,请参考以下文章

反应本机推送通知,GCM 服务器返回 401

停止计划的推送通知在反应本机推送通知中

如何在前台 iOS Swift 3.0 中接收推送通知?

反应本机推送通知无法正常工作

应用在前台时如何触发苹果推送通知事件?

当应用程序处于后台状态(Android)时,远程推送通知提示无法在本机反应中工作