我在我的网站上实现了一个firebase推送通知,我希望在接收推送时触发一个功能并播放声音,当网页处于焦点时我的代码工作正常但是当它在背景上时它只显示我弹出该通知并且该功能不会触发
这是我的代码:
messaging.onMessage(function(payload){
$( "#reload" ).trigger( "click" );
var audio = new Audio('************************.mp3');
audio.play();
console.log('onMessage',payload);
});
答案 0 :(得分:1)
来自Handle messages when your web app is in the background上的Firebase文档:
应用在后台时收到的所有消息都会在浏览器中触发显示通知。您可以在应用服务器的发送请求中或使用客户端上的服务工作者逻辑指定此通知的选项,例如标题或单击操作。
您可以为messaging.setBackgroundMessageHandler(...)
的数据消息设置自己的后台处理程序。但是该处理程序将在服务工作者中运行,因此将无法播放声音。有关此示例,请参阅Setting notification options in the service worker。