当浏览器在后台运行时收到通知时使用Firebase播放声音
问题描述:
我想知道如何通过Firebase云消息传递(FCM) 播放声音,当Chrome浏览器,Firefox等浏览器接收到通知消息在后台运行。在后台运行当浏览器在后台运行时收到通知时使用Firebase播放声音
通知而 要收到一条消息,而应用程序在后台运行,在FCM,叫
setBackgroundMessageHandler
在服务工作者firebase-messaging-sw.js
messaging.setBackgroundMessageHandler(function(payload) {
console.log('[firebase-messaging-sw.js] Received background message ', payload);
...
return self.registration.showNotification(notificationTitle, notificationOptions);
});
然而,音频对象window.AudioContext
不能称为服务工作者。另外,任何浏览器当前都不支持通知属性Notification.sound
。
我想知道如何在应用程序处于后台时使用FCM播放声音。
答
虽然当前不支持声音,但在显示来自服务人员内部的通知时,您应该能够振动用户的设备。这可能足以引起他们的注意。 (如果你真的需要...)
下面是从live sample的摘录:
registration.showNotification('Vibration Sample', {
body: 'Your title here.',
icon: 'path/to/icon.png',
vibrate: [200, 100, 200, 100, 200, 100, 200],
tag: 'vibration-sample'
});
答
你应该能够在服务工作者增加一个函数的事件监听器里的推,只是有它发挥的声音。
感谢您的有用评论。我想在PC网络浏览器中播放声音。也许,振动只适用于移动设备的浏览器。对不起,没有描述。 – Hashikami