【问题标题】:GCM response success but no notifications delivered on ios deviceGCM 响应成功,但没有在 ios 设备上发送通知
【发布时间】:2018-04-17 16:08:29
【问题描述】:

我正在处理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 服务真的我不知道发生了什么请帮助我让苹果设备接收推送通知, 在此先感谢

【问题讨论】:

    标签: ios cordova push-notification google-cloud-messaging


    【解决方案1】:

    我遇到的问题非常简单和愚蠢,它是有效负载数据 GCM 在将请求发布到 APN 时使用通知而不是数据,因此有效负载必须采用如下形式:

    "notification" : {
        "body" : "test message",
        "title" : "app name"
    } 
    

    我正在使用:

    "data" : {
        "body" : "test message",
        "title" : "app name"
    }
    

    这就是诀窍,虽然数据只对 Android 有效,而通知对 iOS 和 Android 都有效(THNKS APPLE !!!)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-29
      • 1970-01-01
      • 2017-01-08
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      相关资源
      最近更新 更多