iOS Firebase 推送通知未出现
Posted
技术标签:
【中文标题】iOS Firebase 推送通知未出现【英文标题】:iOS Firebase push notifications not appearing 【发布时间】:2017-06-07 15:00:51 【问题描述】:我已根据此演练设置推送通知:https://www.appcoda.com/firebase-push-notifications/
但是当我从 Firebase 发送测试消息时,它没有显示出来。我遵循了所有步骤,我有有效的证书:
为推送通知设置的配置文件:
在我的 App ID 下,它显示通知已启用:
我已将证书上传到 Firebase:
在我的AppDelegate
didFinishLaunchingWithOptions
:
if #available(ios 10.0, *)
// For iOS 10 display notification (sent via APNS)
UNUserNotificationCenter.current().delegate = self
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(
options: authOptions,
completionHandler: _, _ in )
// For iOS 10 data message (sent via FCM
FIRMessaging.messaging().remoteMessageDelegate = self
else
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
application.registerForRemoteNotifications()
连同AppDelegate
中的Firebase回调方法:
func applicationReceivedRemoteMessage(_ remoteMessage: FIRMessagingRemoteMessage)
print(remoteMessage.appData)
显然我已经导入了:
import UserNotifications
import FirebaseInstanceID
import FirebaseMessaging
我不确定为什么推送通知不起作用,似乎一切都已就绪。我所做的唯一不同寻常的事情是从 Target -> Code Signing 中删除权利,因为当我尝试运行应用程序时,它给了我一个无效权利错误。现在它已被删除,该应用程序运行良好。我确实对这个单独的问题有一个悬而未决的问题,但现在我假设这不是我的问题的原因。
为了确认,我不需要在添加通知后重新下载 Google plist 吗?在添加通知之前,我在我的项目中使用了 Firebase,所以我已经有了。
感谢您为通知工作提供任何帮助!
【问题讨论】:
请从 Xcode 中删除设备并尝试您是否收到推送?。并且有些时候在开发模式下确实注册了通知而不是调用。 有谁知道添加 FirebaseMessaging/notifications 后是否需要重新下载 Google-Info.plist 文件?在我尝试添加通知之前,我的应用中有 Firebase,所以我有原始 plist。 【参考方案1】:尝试添加FirebaseAppDelegateProxyEnabled type "Boolean" value "NO" in your info.plist
也许添加Messaging.messaging().shouldEstablishDirectChannel to true in your AppDelegate
【讨论】:
【参考方案2】:如果启用了推送通知,您能否检查功能选项卡。此外,从 Xcode 8 开始,您需要添加设置了 aps-environment 的权利文件。如果您禁用和启用来自功能的推送通知,您将获得此文件。
【讨论】:
请查看文档 - developer.apple.com/library/content/documentation/Miscellaneous/… 您的“另外,从 Xcode 8 开始,您需要添加设置了 aps-environment 的权利文件。”具有误导性。如果您在功能中设置,这会自动发生。 功能中启用了推送通知。我将其切换为“关闭”,然后再次打开。重新下载我的配置文件,双击安装。 Ran,现在我收到一个错误“无效的权利” @Honey Xcode 8 之前的授权文件不是必需的。 它现在似乎可以正常工作,但我仍然没有看到我从 Firebase 发出的测试通知以上是关于iOS Firebase 推送通知未出现的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 云消息传递未在 iOS 14 上提供推送通知
iOS 13 及更高版本未收到来自 Firebase 的推送通知