我想知道如何使用Firebase云消息传递(FCM)播放声音 当Chrome浏览器,Firefox等网络浏览器在后台运行时收到通知消息时。
在后台运行时的通知
要在应用在后台接收消息,请在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播放声音。
答案 0 :(得分:1)
虽然目前不支持声音,但您应该能够在显示来自服务工作者内部的通知时振动用户的设备。这可能足以引起他们的注意。 (如果你真的需要...)
以下摘自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'
});
答案 1 :(得分:0)
您应该能够在事件监听器中添加一个函数,以便在service-worker中进行推送,并让它发出声音。