我尝试使用FCM向我的Ionic应用程序添加推送通知,但遇到了IOS问题(Android按预期工作)。在将此标记为重复之前,我尝试了其他类似问题的解决方案,但没有帮助。
在firebase控制台中,我设置了团队ID、应用ID,并将苹果生成的APNS p5上传到我的控制台。
最后,把最新的plist文件放到我的应用的根目录下。我可以看到证书也启用了推送通知,应用程序也请求了该权限。之后我获得了设备通知ID,并通过控制台和API端点进行了测试,但我一直收到“InvalidApnsCredential”错误。我从这里的其他几个问题开始执行步骤,但没有运气。我似乎不能让它工作,下面是我的代码的一些片段
this.platform.ready().then(() => {
this.fcmService.getToken().then(resp=>{
this.httpService.sendToken(resp)
.subscribe(res => {
console.log(res)
});
console.log(resp)
});
});
和API发布请求的主体
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。有没有什么我错过了让它工作?
3条答案
按热度按时间jaql4c8m1#
所以,这可能不是你想要的答案,但对我来说,在iOS上重新创建应用程序后,一切都很好。常见的问题包括-试图在客户端发出许可之前发送通知-使用旧ID发送通知(是的,它们有时会更改)-你的应用程序和iOS应用程序之间的包名不匹配
jhdbpxl92#
以下是“ApnsCredential无效”的原因:
1.可能已更改捆绑包ID [在代码中查找捆绑包ID名称不匹配的地方,更改它]
1.找出确切的错误,从这个链接enter link description here,你得到的.
p5fdfcr13#
在我的例子中,我忘记了在firebase控制台中输入并上传
APNs Authentication Key
。添加验证密钥文件(.p8)、密钥ID和团队ID
看看下面的图片,它对我来说工作得很好。
确保在SDK设置和配置中添加了
Team ID
。