当浏览器在后台运行时收到通知时使用Firebase播放声音

问题描述:

我想知道如何通过Firebase云消息传递(FCM) 播放声音,当Chrome浏览器,Firefox等浏览器接收到通知消息在后台运行。在后台运行当浏览器在后台运行时收到通知时使用Firebase播放声音

通知而 enter image description here 要收到一条消息,而应用程序在后台运行,在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' 
}); 
+0

感谢您的有用评论。我想在PC网络浏览器中播放声音。也许,振动只适用于移动设备的浏览器。对不起,没有描述。 – Hashikami

你应该能够在服务工作者增加一个函数的事件监听器里的推,只是有它发挥的声音。