首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尽管存在有效的InvalidApnsCredential APN,但Firebase消息仍返回P8

尽管存在有效的InvalidApnsCredential APN,但Firebase消息仍返回P8
EN

Stack Overflow用户
提问于 2018-12-17 20:50:44
回答 2查看 4.4K关注 0票数 13

我正在尝试使用Firebase消息将通知发送到IOS设备-- Firebase控制台中的每个IOS项目都有一个有效的an P8 Auth密钥,该密钥是从Apple帐户中新生成的。

我用的是这个方法:

代码语言:javascript
运行
复制
curl -X POST \
  https://fcm.googleapis.com/fcm/send \
  -H 'Authorization: key=<My Key>' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
    "to": "<Device Token>",
    "notification": {
        "title": "Push Notification Test to IOS",
        "body":"Push Notification Test to IOS"
    },
    "data": {
        "message": "Push Notification Test to IOS"
    }
}'

这将导致FCM产生以下错误:

代码语言:javascript
运行
复制
{
    "multicast_id": <Id>,
    "success": 0,
    "failure": 1,
    "canonical_ids": 0,
    "results": [
        {
            "error": "InvalidApnsCredential"
        }
    ]
}

如果我从消息中删除了“通知”块,FCM就会成功地进行响应,但是设备上没有接收到任何信息。

我可以使用上面的示例消息向Android设备发送和接收通知。

FCM文档建议,当包含“通知”块时,当令牌用于IOS设备时,FCM尝试通过an发送:

如果提供了通知有效负载,或者将content_available选项设置为iOS设备的消息为true,则通过an发送消息,否则通过FCM连接服务器发送消息。

我试过的是:

  • 刷新令牌
  • 等待24小时才能在APN和FCM服务器环境中传播令牌
  • 使用P12证书
  • 使用P8证书
  • 确保IOS应用程序允许Xcode中的通知
  • 确保Apple Developer帐户拥有允许通知的应用程序
  • 确保plist、FCM和Apple帐户中的捆绑Ids正确
  • 尝试了FCM遗留密钥和服务器密钥。
EN

回答 2

Stack Overflow用户

发布于 2021-06-03 09:48:40

InvalidApnsCredential并不意味着该问题与APNS证书或密钥直接相关。

在我的例子中,我用一个白标签的应用程序来面对这个问题&经过调查,我发现我的app bundle id (PRODUCT_BUNDLE_IDENTIFIER)与Firebase中的不匹配(我使用的是一个开发包id,而不是生产包)。

票数 0
EN

Stack Overflow用户

发布于 2021-08-31 13:45:15

确保您的捆绑ID是正确的。

如果不一样,创建一个新的iOS应用程序iOS→General添加一个应用程序),并确保正确设置名称。

在我的例子中,我使用了最短版本的包ID (com.company),而不是long ID (com.company.appname)。

这样做,你应该,而不是需要重新编译和重新上传应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53822811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档