未收到加密有效负载的推送通知

时间:2016-09-23 08:27:49

标签: node.js google-chrome push-notification google-cloud-messaging

我一直在this resource中关注该文档,以便将推送通知发送到带有效负载的浏览器。 (Chrome 53.0.2785.116 m)。

我正在使用Nodejs Crypto库生成密钥,它们都通过了Google员工创建的the verification test

当我不包含加密的有效负载时,我可以发送和接收推送通知。只要我将'raw_data'标记与加密的有效负载相关联,浏览器就不再接收推送通知(尽管Curl仍然会返回'success(1)'响应)

以下是包含和不包含有效负载的Curl消息。

没有有效负载 -

    curl --header "TTL:86400" 
         --header "Authorization: key=API_KEY" 
         --header "Encryption: salt=E2oUmcFWbb41wk5DuTbuoA"
         --header "Crypto-Key: dh=SERVER_PUBLIC_KEY" 
         --header "Content-Encoding: aesgcm" 
         --header "Content-Type: application/json" 
         https://android.googleapis.com/gcm/send -d 
         "{\"registration_ids\":[\"CLIENT_KEY\"],\"content_available\":true}" 
         --insecure

有效负载 -

    curl --header "TTL:86400" 
         --header "Authorization: key=API_KEY" 
         --header "Encryption: salt=E2oUmcFWbb41wk5DuTbuoA" 
         --header "Crypto-Key: dh=SERVER_PUBLIC_KEY" 
         --header "Content-Encoding: aesgcm" 
         --header "Content-Type: application/json" 
         https://android.googleapis.com/gcm/send -d 
         "{\"registration_ids\":[\"CLIENT_KEY\"],\"raw_data\":\"UnGSxqxfy9yDwPgCVeXJibQyPX8Hz28\",\"content_available\":true}" 
         --insecure

两者都返回成功消息

{"multicast_id":9197002368280649941,
"success":1,"failure":0,
"canonical_ids":0,
"results":[{"message_id":"0:1474618927798802%bc86b90cf9fd7ecd"}]}

但浏览器未收到后者。

我们现在进入头部刮伤的第四天。任何帮助都会很棒。

0 个答案:

没有答案