Firebase 云消息推送通知不再出现在 iOS 上
Posted
技术标签:
【中文标题】Firebase 云消息推送通知不再出现在 iOS 上【英文标题】:Firebase Cloud Messaging Push Notificartions don't arrive on iOS anymore 【发布时间】:2017-07-23 14:26:32 【问题描述】:我对 ios 上的 Firebase 云消息传递有疑问。我已经按照文档中的说明在应用程序中实现了 Firebase,并生成了一个 Firebase 实例 ID。但是,如果我尝试发送推送通知(例如使用http://pushtry.com/),则什么也没有发生。问题是,它确实工作了,而且我不记得更改了与通知有关的任何内容。
因为找不到任何东西,我什至尝试删除整个项目并从头开始重新做所有事情(通过复制代码)。然后它再次工作,但现在(一个小时后)再次,它再次不起作用。
如果我从 pushtry 或 Firebase 控制台发送 FCM,它会说消息已传递,但没有任何反应! (在 iOS 设置中启用了推送通知。它确实有效)
我真的不知道该怎么办。有人知道我能做什么吗?
提前谢谢你。
【问题讨论】:
【参考方案1】:好吧,经过两天的极度沮丧,我想通了。
问题在于info.plist
文件中的FirebaseAppDelegateProxyEnabled
行设置为NO
。
我拆线后,问题就消失了!
我现在很放心
【讨论】:
这是一个奇怪的参数。我一直在寻找“无法获取 APNS 令牌”问题 2 天,并将“FirebaseAppDelegateProxyEnabled = false”添加到 info.plist 为我解决了这个问题。恰恰相反。我正在 iPad Pro (OS v10) 上运行测试。您的设备是哪个版本的? iPad Pro 9.7、iOS 10.3.3 “无法获取 APNS 令牌”消息是一条红鲱鱼。 Firebase 最终会获取 APNS 令牌。我还最终将代理参数设置为 true (YES)。【参考方案2】:设置参数content_available
为true
【讨论】:
我做到了。正如我所说,即使从官方 Firebase 控制台发送的消息也不会再到达设备上,即使它在网站上显示“已发送”。 使用您自己的后端服务器来处理通知以确保其正常工作 大部分时间消息确实会到达 iOS,但有时我们必须删除 Token 才能重新获得通信。【参考方案3】:在我的例子中,我已经迁移了我的 Apple 帐户并且忘记正确配置我的 Apple 和 Firebase 帐户。
苹果方面
-
确保为该应用 ID 启用“推送通知”。
确保您已创建“Apple Push Notification service”证书并附加到 Apple Id。
创建稍后将更新的授权密钥加载 Firebase,以便它可以代表您与 Apple 服务器通信。 (link)
Firebase 方面
-
确保在 Firebase 项目中正确设置 iOS Apple 包
上传您之前在 Apple 中创建的授权密钥 - 上面的第 3 步。 (link)
按照所有步骤将 iOS 应用与 Firebase SDK 集成
就是这样。
【讨论】:
以上是关于Firebase 云消息推送通知不再出现在 iOS 上的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 云消息传递未在 iOS 14 上提供推送通知
如何在 Xamarin.iOS 中使用 FCM(Firebase 云消息传递)发送 iOS 推送通知
为啥推送通知不能在 iOS 中使用 Firebase 从设备到设备?
FCM 检测 IOS 上的应用程序卸载(firebase 云消息推送通知)