Firebase云消息传递:无效的APNs证书。

6
我无法从FCM控制台向iOS设备发送推送消息。我收到错误消息“在设置中检查APNs证书”。我的配置与FCM指南中的相同:
  1. 我在Apple Developer帐户中生成了Auth Key。
  2. 我将auth key上传到Firebase项目中,放置Key Id和前缀(Team Id)。
  3. 我将FCM SDK添加到我的iOS项目中(也添加了Google-service.plist)。
  4. 我在Firebase数据库中保存了注册令牌。
  5. 最后,我可以向所有具有我的App ID的设备发送消息(但无法接收此消息,不知道为什么),但我无法向具有令牌的选定设备发送消息。
有什么想法吗?

请检查Firebase应用中列出的App ID前缀是否与iOS应用程序的匹配。 - Jen Person
我已经检查过了,它匹配。应用程序ID前缀与苹果团队ID相匹配。 - piotrpawlowski
您能否确认在Xcode应用程序中的功能区中启用了推送通知? - Jen Person
当然。我从 FCM 服务器收到了“InvalidApnsCredential”错误。 - piotrpawlowski
我遇到了同样的问题,尤其是在使用不同的TeamIDs时。所有设置都正确(p8密钥,TeamID,KeyID)。对我来说解决方案是生成一个新的服务器遗留密钥(Firebase->云消息传递->第一个选项)。 - user8675
2个回答

2
如果用于生成 FCM 令牌的 Bundle ID 与 Firebase 应用中列出的 Bundle ID 不匹配,则即使您的 Auth 密钥配置正确,您也会收到错误消息 code: 'messaging/invalid-apns-credentials'。这似乎是引起此错误的最可能原因。请仔细检查 FCM 令牌是否由具有与 Firebase 控制台中列出的完全相同的 Bundle ID 的应用程序创建。 GoogleServices-Info.plist 不验证其是否包含与附加的应用程序相同的 Bundle ID,因此很容易犯这个错误。
在 Android 端,如果您的 google-services.json 中缺少 appId,将导致编译错误,从而防止出现此问题。

2
  • 请检查GoogleServices-Info.plist文件中的应用名称和您的应用程序中的Bundle ID
  • 还要检查您是否将plist文件放在正确的目录中。
  • 已将身份验证密钥上传到Firebase项目的开发和生产环境中。

这些是您的应用程序无法收到推送通知的唯一原因。


1
这对我来说是答案;谢谢。我们在Firebase中配置了多个应用程序,而我将苹果APN密钥分配给了错误的应用程序。 - mdryden

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接