我正在工作的谷歌Chrome推送通知,我正在尝试发送有效负载到谷歌Chrome工作者,但我不知道我如何接收这个有效负载。
我有一个API可以在数据库中创建和保存通知,我需要通过https://android.googleapis.com/gcm/send
发送值,并在worker.js上接收
这是我的工作人员。JS
self.addEventListener('push', function(event) {
var title = 'Yay a message.';
var body = 'We have received a push message.';
var icon = '/images/icon-192x192.png';
var tag = 'simple-push-demo-notification-tag';
event.waitUntil(
self.registration.showNotification(title, {
body: body,
icon: icon,
tag: tag
})
);
});
我就是这么叫GCM的
curl --header "Authorization: key=AIzaSyDQjYDxeS9MM0LcJm3oR6B7MU7Ad2x2Vqc" --header "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{ \"data\":{\"foo\":\"bar\"}, \"registration_ids\":[\"APA91bGqJpCmyCnSHLjY6STaBQEumz3eFY9r-2CHTtbsUMzBttq0crU3nEXzzU9TxNpsYeFmjA27urSaszKtA0WWC3yez1hhneLjbwJqlRdc_Yj1EiqLHluVwHB6V4FNdXdKb_gc_-7rbkYkypI3MtHpEaJbWsj6M5Pgs4nKqQ2R-WNho82mnRU\"]}"
我试图获取event.data
,但这是未定义的。
有人有什么想法或建议吗?
要检索该数据,需要将“event.data.text()”解析为一个JSON对象。我猜自从你试着让它起作用后,有些东西被更新了,但它现在起作用了。倒霉!
然而,由于我是在自己寻找解决方案的时候写到这篇文章的,其他人可能会喜欢一个可行的答案。这里是:
// Push message event handler
self.addEventListener('push', function(event) {
// If true, the event holds data
if(event.data){
// Need to parse to JSON format
// - Consider event.data.text() the "stringify()"
// version of the data
var payload = JSON.parse(event.data.text());
// For those of you who love logging
console.log(payload);
var title = payload.data.title;
var body = payload.data.body;
var icon = './assets/icons/icon.ico'
var tag = 'notification-tag';
// Wait until payload is fetched
event.waitUntil(
self.registration.showNotification(title, {
body: body,
icon: icon,
tag: tag,
data: {} // Keeping this here in case I need it later
})
);
} else {
console.log("Event does not have data...");
}
}); // End push listener
// Notification Click event
self.addEventListener('notificationclick', function(event) {
console.log("Notification Clicked");
}); // End click listener
就我个人而言,我将创建一个“通用”通知,以防我的数据不正常,并且还将使用try/catch。我建议也这么做。
问题内容: 我只想知道如何确定在无提示推送中要执行的操作: 这是我发送给客户的: 现在的问题是,当我添加以确定静默推送是为了让“订单更新”显示警报通知时。 问题答案: 有一些选择!让我们花点时间了解所有不同的有效负载及其用法。 简单有效载荷 显示在通知中心:是 唤醒应用以执行后台任务:否 带有自定义通知声音的有效负载 显示在通知中心:是 唤醒应用以执行后台任务:否 :在您的应用程序包中添加自定义通
我正在尝试通过AWS SNS向GCM发送移动推送通知。根据最新的GCM 3.0留档,其中可能包括“通知”有效负载或“数据”有效负载(或两者兼而有之)。如果您发送通知有效负载,那么GCM将负责为您在最终用户设备上显示通知。 使用Amazon SNS控制台,我尝试发送仅通知有效负载,但遇到以下错误: 无效参数:消息原因:协议GCM的通知无效:json消息中需要数据密钥(服务:AmazonSNS状态码:
如何使用Firebase向我的应用程序的所有注册用户发送推送通知?我在纪录片中搜索了api,但没有找到任何有用的东西。
这是我问的新问题,因为我还没有得到任何答案。 我正在使用亚马逊SNS Push向我注册的设备发送推送,一切都很好,我可以在我的应用程序上注册设备,可以发送推送等。我面临的问题是,当我通过推送打开我的应用程序时,我想打开一个特定的页面。我想发送一些额外的有效载荷参数,但我不能这样做。 我试过这个链接:-http://docs.aws.amazon.com/sns/latest/api/API_Pub
当我需要使用Firebase向特定设备发送通知时,这就是JSON结构。那么,我应该如何修改它以向所有设备或两个选定设备发送相同的通知呢? android中使用Firebase向所有设备发送推送通知的JSON结构是什么?
如何处理app在前台和后台时的推送通知?我正在得到下面的有效载荷数据。 func application(application:UIApplication,didReceiveRemoteNotification UserInfo:[NSObject:AnyObject],fetchCompletionHandler CompletionHandler:(UIBackgroundFetchRes