我为iOS应用配置了Firebase项目 . 我在 Cloud 消息传递设置中添加了单独的开发和 生产环境 APN证书 . 我能够成功接收我从Firebase Notifications控制台发送的针对我的应用的调试版本的通知 . 但是我无法在 生产环境 版本中收到任何通知 . 我通过在info.plist中将FirebaseAppDelegateProxyEnabled设置为NO来禁用调配 . 我还使用setAPNSToken在didRegisterForRemoteNotificationsWithDeviceToken方法中将标记类型设置为prod . 该应用程序使用 生产环境 分发配置文件进行签名,因此使用 生产环境 APN环境 . 我可以验证 生产环境 APN证书等是否有效,因为我的应用程序成功接收Apple APN网关(gateway.push.apple.com:2195)使用Php脚本直接发送的通知 . 我也怀疑;
-
Firebase正在使用开发APN证书 . 但是为了消除这种情况,我将 生产环境 APN证书作为 Cloud 消息传递设置中的dev和prod证书上传 . 这并没有解决问题 .
-
Firebase仍在调整并错误地将应用程序识别为开发版本,从而将设备令牌设置为沙箱 . 这会覆盖我的代码,将令牌类型设置为prod . 我无法验证这一点以确认 .
非常感谢任何帮助 . 干杯
1 回答
问题是由于订阅失败了
无法订阅主题:/ topics / XXX with token:(null)
如文档中所述,订阅是在
application(_ application:UIApplication,didRegister notificationSettings:UIUserNotificationSettings)
方法 . 但是,此方法有时会在异步Firebase初始化完成之前执行 . 当应用程序第一次新安装和启动时,它始终是值得注意的 . 这在以下主题中提到 .
Cannot receive push notification on iOS from Firebase 3.2.0 topics