【发布时间】:2017-06-03 08:47:36
【问题描述】:
这是一个对开发者社区来说有点新闻的问题。
我将消息从 AWS SNS 发送到 Firebase,它应该从那里路由到 GCM 和 APN。
- GCM 消息顺利通过。
- 新闻部分:与 Apple 开发人员指南的所有声明相反,我在 Mac 上的模拟器在 firebase 上注册,获取注册令牌,然后接收通过 Firebase 发送的通知。它不会自动在通知中心显示它们,但我从 applicationReceivedRemoteMessage() 函数手动创建通知显示作为 UILocalNotification(),所以现在它甚至在通知中心显示它们 - 非常出乎意料但它有效。
当我在真 iPhone 上安装应用程序时,收不到消息。并不是说它们没有显示 - 该函数永远不会被调用。
我在 Firebase 上的 .p12 密钥是推送证书的私钥,如下所述:https://firebase.google.com/docs/cloud-messaging/ios/certs
关于 SO 有几个问题讨论这个不接收 APNs 消息的问题,但在这里我们有一个特别狭窄的错误空间(以及其他开发人员的一些好消息):
- 模拟器收到消息,所以我的代码 iOS 代码一定没问题。
- Android 应用程序接收消息,因此 AWS SNS 到 Firebase 路由正常工作。
- 因此,该问题仅与 Firebase 到 iOS 相关,很可能与配置文件/密钥有关。
- 我使用手动创建的配置文件
尝试将完整的推送证书导出为 .p12 并添加到 Firebase,但效果不佳。
关于什么可能是错误的/值得检查的任何建议?
【问题讨论】:
-
也许有有效载荷?可以发个样品吗?
-
payload是ok的,因为它是在Android平台上接收的。有效载荷中有“默认”、“GCM”和“APNS”部分,而 Firebase 确实只提供 GCM 部分,这是错误的,但它可以工作。
标签: firebase push-notification google-cloud-messaging apple-push-notifications firebase-cloud-messaging