【问题标题】:Firebase Cloud Messaging: Invalid APNs certificatesFirebase 云消息传递:无效的 APNs 证书
【发布时间】:2018-12-28 19:59:21
【问题描述】:

我无法从 FCM 控制台向 iOS 设备发送推送消息。我收到错误消息“检查设置中的 APNs 证书”。我的配置和 FCM 指南中的一样:

  1. 我在 Apple Developer Account 中生成了 Auth Key。
  2. 我在 Firebase 项目中上传了身份验证密钥,输入了密钥 ID 和前缀(团队 ID)。
  3. 我将 FCM SDK 添加到我的 iOS 项目中(也添加了 Google-service.plist)。
  4. 我在 Firebase 数据库中保存了注册令牌。
  5. 最后,我可以使用我的 App ID 向所有设备发送消息(但无法接收此消息,我不知道为什么),但我无法使用令牌向所选设备发送消息。

有什么想法吗?

【问题讨论】:

  • 检查以确保 Firebase 应用中列出的 App ID 前缀与 iOS 应用中的匹配
  • 我已经检查过了,它匹配。应用 ID 前缀与苹果团队 ID 匹配
  • 您能否确认在 Xcode 应用的 Capabilities 中启用了推送通知?
  • 当然。我从 FCM 服务器收到“InvalidApnsCredential”错误。
  • 我遇到了同样的问题,尤其是在使用不同的 TeamID 时。所有设置均正确(p8 Key、TeamID、KeyID)。我的解决方案是生成一个新的服务器旧密钥(Firebase -> Cloud Messaging -> First option)

标签: firebase push-notification apple-push-notifications firebase-cloud-messaging


【解决方案1】:
  • 请检查 GoogleServices-Info.plist 中的应用名称和应用中的Bundle ID
  • 还要检查您是否将 plist 文件放在正确的 目录 中。
  • 已将 Firebase 项目中的身份验证密钥上传到 Dev 和 Prod 项目。

这是您的应用没有推送通知的唯一原因。

【讨论】:

  • 这就是我的答案;谢谢。我们在 firebase 中配置了多个应用程序,而我将苹果 APN 密钥分配给了错误的应用程序。
【解决方案2】:

如果用于生成 FCM 令牌的包 ID 与您的 Firebase 应用中的包 ID 不匹配,即使您的 Auth 密钥配置正确,您也会收到错误 code: 'messaging/invalid-apns-credentials'

这似乎是导致此错误发生的最可能原因。双重和三重检查 FCM 令牌是由具有与 Firebase 控制台中列出的完全相同的捆绑 ID 的应用创建的。

GoogleServices-Info.plist 不会验证它是否包含与其附加的应用相同的 Bundle ID,因此很容易犯此错误。

在 Android 端,如果您的google-services.json 中不存在 appId,您将收到编译错误,从而防止出现此问题。

【讨论】:

    猜你喜欢
    • 2018-08-25
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 2019-05-18
    • 2019-07-12
    • 1970-01-01
    相关资源
    最近更新 更多