Firebase推送通知无法在iOS上进行生产

时间:2016-12-15 16:56:22

标签: ios firebase firebase-cloud-messaging

我将Firebase Messaging SDK集成到我的iOS项目中,为开发创建了推送通知证书,为生产创建了一个推送通知证书,将两个p12密钥上传到Firebase,但我没有收到通知,只是用于开发。

注册代码很好,和我常用的APNS一样,工作正常。

3个应用程序会发生同样的行为。

其他人遇到过这个问题吗?你有任何解决方案或建议吗?

4 个答案:

答案 0 :(得分:31)

我有同样的问题。显然,Firebase文档中存在错误。 当您将生产的APN证书从钥匙串导出到.p12文件时,您必须选择实际的证书,私钥

确保您在Cloud Messaging APN证书设置中将此.p12文件上传到Firebase控制台。

Swift 4.0

另外请确保您正在使用:

Messaging.messaging().setAPNSToken(deviceToken as Data, type: .prod)

内部:

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {

    #if DEVELOPMENT
        //Develop
        Messaging.messaging().setAPNSToken(deviceToken as Data, type: .sandbox)
    #else
        //Production
        Messaging.messaging().setAPNSToken(deviceToken as Data, type: .prod)
    #endif

}

答案 1 :(得分:7)

首先检查您要导出的证书。典型的错误是导出私钥而不是服务。我附上了截图。我希望这能为你节省一些时间。

Correct certificate to export

答案 2 :(得分:2)

对我来说,这些步骤解决了生产中的同样问题:

  1. 在Apple Developer门户网站上,转到Keys - >添加密钥 enter image description here

  2. 下载密钥,复制密钥ID参数

  3. 打开Firebase控制台 - >项目设置 - >云消息传递
  4. 在此处上传您下载的.p8密钥(步骤2): enter image description here
  5. 在新窗口中粘贴密钥ID参数和您需要的App ID前缀

答案 3 :(得分:0)

我按照以下步骤开始工作:

  1. 从Apple开发人员门户网站重新生成配置文件
  2. 删除旧的
  3. 更新firebase控制台上的新配置文件
  4. 将AppDelegate与UNUserNotificationCenterDelegate协议相符合
  5. 确保所有注册到APNS都正确完成(有很多教程如何做到这一点)
  6. 确保您在应用启动时调用了configureFirebase
  7. 从firebase控制台发送消息
  8. 似乎第4步有所不同。