IOS Firebase 云消息传递“InvalidApnsCredential”

Posted

技术标签:

【中文标题】IOS Firebase 云消息传递“InvalidApnsCredential”【英文标题】:IOS Firebase Cloud Messaging "InvalidApnsCredential" 【发布时间】:2020-07-10 07:12:19 【问题描述】:

我正在尝试使用 FCM 向我的 Ionic 应用程序添加推送通知,但遇到了 ios 问题(android 可以按预期工作)。在将此标记为重复之前,我尝试了其他类似问题的解决方案,但没有帮助。

在 Firebase 控制台中,我设置了团队 ID、应用程序 ID,并将苹果生成的 APNS p5 也上传到了我的控制台。

最后,最新的 plist 文件到我的应用程序的根目录。从 xcode 中,我可以看到证书也启用了推送通知,并且应用程序也要求获得该权限。之后,我获得了设备通知 ID,并通过控制台和 api 端点对其进行了测试,但我不断收到“InvalidApnsCredential”错误。我从这里完成了其他几个问题的步骤,但没有运气。我似乎无法让它工作,下面是我的代码的一些 sn-ps

 this.platform.ready().then(() => 
            this.fcmService.getToken().then(resp=>
                this.httpService.sendToken(resp)
                    .subscribe(res => 
                        console.log(res)
                    );
                console.log(resp)
            );
        );

以及 api post 请求的正文

Endpoint: https://fcm.googleapis.com/fcm/send

Body:

  "notification":
    "title":"Ionic 4 Notification",
    "body":"This notification sent from POSTMAN using Firebase HTTP protocol",
    "sound":"default",
    "click_action":"FCM_PLUGIN_ACTIVITY",
    "icon":"fcm_push_icon"
  ,
  "data":
    "landing_page":"second",
    "price":"$3,000.00"
  ,
    "to":"IOS_DEVICE_NOTIFICATION_ID",
    "priority":"high",
    "restricted_package_name":""


代码和 api 端点似乎正确,因为它适用于 Android。有什么我想让它工作的吗?

【问题讨论】:

你在 fcmService.getToken() 启动之前是否尝试过获取权限? 所以,我从 firebase 中删除了 IOS 应用程序并重新创建它,它似乎可以正常工作。有点奇怪,但我没有更改任何代码! 神秘但好的部分是它的工作??。 是的,希望这是一次错误并且不会再次中断 【参考方案1】:

因此,这可能不是您正在寻找的答案,但对我来说,在我在 ios 上重新创建应用程序后一切正常。 常见问题包括 - 尝试在客户授权之前发送通知 - 使用旧 ID 发送通知(是的,它们有时会更改) - 您的应用程序和 ios 应用程序之间的包名称不匹配

【讨论】:

【参考方案2】:

以下是“InvalidApnsCredential”的原因:

    可能包 ID 已更改 [在代码中查找包 ID 名称不匹配的位置,更改它] APN 密钥已过期 [在 Firebase 控制台中更新] 通过此链接enter link description here 找出您遇到的确切错误。

【讨论】:

以上是关于IOS Firebase 云消息传递“InvalidApnsCredential”的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 云消息传递 - iOS 徽章

Flutter - Firebase 云消息传递,iOS 上未收到数据消息

Firebase 云消息传递 - PHP Rest API 不适用于 iOS

无法将iOS CriticalAlert发送到Firebase云消息传递

IOS Firebase 云消息传递“InvalidApnsCredential”

iOS 未收到来自 Firebase 云消息传递的通知