我正在开展cordova项目,我需要用户接收推送通知我使用firebase和cordova插件推送,GCM响应是:
GCM response :
{\"multicast_id\":6875962456318713515,\"success\":1,\"failure\":0,\"canonical_ids\":0,\"results\":[{\"message_id\":\"0:1509878580992374%39c6ff07f9fd7ecd\"}]}"
但是我的ios设备没有显示任何通知,虽然在Android设备上它工作正常并且从APN免费测试仪发送我的苹果设备很快收到通知,我按照所有提到的步骤制作firebase项目并且我上传了APN证书和下载.plist文件,我收到了正确的gcm注册令牌(我上面提到过)我的项目是cordova项目,我在从xcode构建期间没有收到任何错误,除了:
017-11-05 11:57:02.994: GCM | Invalid key in checkin plist: GMSInstanceIDDeviceDataVersion
到我的设备或从gcm服务真的我不知道发生了什么请帮助我让苹果设备接收推送通知, 提前致谢
答案 0 :(得分:0)
我遇到的问题是非常简单和愚蠢的是有效载荷数据GCM在向APN发布请求时使用通知而不是数据,因此有效载荷必须采用以下形式:
"notification" : {
"body" : "test message",
"title" : "app name"
}
我正在使用:
"data" : {
"body" : "test message",
"title" : "app name"
}
虽然数据仅对Android有效,但通知同时适用于iOS和Android(THNKS APPLE !!!)