Chrome for Android不接收FCM消息

时间:2017-09-22 07:31:01

标签: javascript android google-chrome push-notification chrome-for-android

我使用FCM服务为我的网站做了一些推送通知。它有代码(来自redux saga):

const reg = yield navigator.serviceWorker.register('/sw.js', {scope: '/'})
const sub = yield reg.pushManager.subscribe({
    userVisibleOnly: true,
    applicationServerKey: push_key,
})
const token = JSON.stringify(sub.toJSON())
console.log(token)

服务人员:

self.addEventListener('push', function(event) {
console.log(event)
if (!self.Notification || self.Notification.permission !== 'granted')
    return

let data = {}
if (event.data)
    data = event.data.json()
const title = data.title || 'Something Has Happened'
const message = data.message || 'Here\'s something you might want to check out.'

event.waitUntil(self.registration.showNotification(title, {
    body: message,
    tag: 'simple-push-demo-notification',
}))
})

我通过简单的python脚本手动初始化推送消息:

import json
from pywebpush import webpush

t = json.loads('{"endpoint":"https://fcm.googleapis.com/fcm/send/xxx","keys":{"p256dh":"xxx","auth":"xxx"}}')
webpush(t,
    json.dumps({'title': 'hello', 'message': 'world!'}),
    vapid_private_key="xxx",
    vapid_claims={"sub": "mailto:somemail@gmail.com"})

桌面Chrome和Firefox完全正常,显示通知,但移动Chrome根本没有收到任何消息。我尝试了一些推送示例,并且是相同的故事 - 他们只是不在移动设备上显示通知。我在Android 4.2和Android 7.1上使用了Chrome 60。

那么,移动Chrome是否支持推送通知?我完全糊涂了。 That answer说“不”并提供一些文档链接,但我在该文档中找不到有关移动支持或不支持的内容。 That answer表示哪些通知仅适用于股票浏览器,而不适用于Chrome。但official documentation说(甚至显示gif!)移动设备应该没问题!

0 个答案:

没有答案