Jay*_*Jay 5 javascript google-cloud-messaging google-cloud-platform
我遇到了GCM平台的问题,并从请求中获取任何类型的数据.我可以看到推送通知,但可以从中检索任何数据.
self.addEventListener('push', function(event) {
console.log('Push message', event); //<--- event.data == null !!! :(
var title = 'Push message';
event.waitUntil(
self.registration.showNotification(title, {
'body': 'Some Messages',
'icon': 'images/myImageSmall.png'
}));
});
Run Code Online (Sandbox Code Playgroud)
我用一个简单的curl请求测试
curl --header "Authorization: key=MY_KEY" --header "Content-Type: application/json"
https://android.googleapis.com/gcm/send -d
"{\"data\" : {\"THIS_DOESNT\":\"SHOW_HELP_ME\"}, \"to\":\"THERE_ID\"}"
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么我没有数据正文得到通知?
编辑:我也试过这个json.
{
"registration_ids":
[
"xxxxxxxxx"
],
"data":
{
"title": "some title",
"message": "some message"
}
}
Run Code Online (Sandbox Code Playgroud)
根据Google官方文档,可以使用两个不同的键进行设置。
Data,该参数指定消息负载的自定义键值对。
键不应是保留字(“from”或任何以“google”或“gcm”开头的单词)。不要使用此表中定义的任何单词(例如collapse_key)。
建议使用字符串类型的值。您必须将对象或其他非字符串数据类型(例如整数或布尔值)中的值转换为字符串。
通知,此参数指定通知负载的预定义的、用户可见的键值对。
您应该使用数据密钥并在通知的有效负载中进行设置。发送后,您可以打印收到的通知结果,并查看数据密钥内是否有正确的有效负载。
您的消息应类似于以下 JSON 数据:
{
"registration_ids" => "some_target_device_id",
"data": {
"title": "My title",
"message": "This is the message!",
}
}
Run Code Online (Sandbox Code Playgroud)
有关通知消息和数据消息选项的更多信息,请参阅有效负载。
| 归档时间: |
|
| 查看次数: |
1167 次 |
| 最近记录: |