2
我使用GCM API向服務人員發送推送通知。但在我的服務人員沒有屬性數據。因此,我得到event.data未定義。GCM pushEvent問題
self.addEventListener('push', function(event) {
console.log('Received a push message', event);
console.log('testing');
var data = event.data;
var title = data.title;
var body = data.body;
var icon = '/images/image.png';
var tag = 'simple-push-demo-notification-tag';
event.waitUntil(function() {
self.registration.showNotification(title, {
body: body,
icon: icon,
tag: tag
})
});
});
在下面的代碼中,我打電話給GCM api。
uri = 'https://android.googleapis.com/gcm/send'
payload = json.dumps({
'registration_ids': [
User.objects.filter(id=user_id)[0].push_key
],
'data': json.dumps({'title':'New notification','message': 'new message'})
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'key=<Project key>'
}
requests.post(uri, data=payload, headers=headers)
感謝馬特澄清。順便說一下,我瞭解到數據存儲在博客中的文章中。 [鏈接](https://gauntface.com/blog/2014/12/15/push-notifications-service-worker)。根據我的理解,GCM api觸發服務工作者,然後發送推送通知。在你提到的鏈接(天氣數據示例)中,我如何給api提供參數(例如城市名稱)?它是通過GCM API給出的嗎?如果是的話,那麼我如何在服務人員中獲取該參數(儘管event.data?) – Ravikrn