【问题标题】:FCM Web - Same foreground and background notification (reuse background notification in foreground)FCM Web - 相同的前台和后台通知(在前台重用后台通知)
【发布时间】:2017-10-27 04:12:13
【问题描述】:

我想知道当我的网站在前台时是否可以显示与在后台时相同的通知。我不想个性化通知的外观,我想按原样重复使用它。

现在,我正在使用这个函数处理通知的到来:

function messageReceived(payload) {
    // TODO implement actions on message received
    console.log(payload);
}

但我不想这样做。删除此功能没有帮助。

提前致谢。

【问题讨论】:

    标签: javascript java firebase web firebase-cloud-messaging


    【解决方案1】:

    要在 Android 上工作,必须从 serviceWorker 发送通知。

    要获得 Firebase serviceWorker 注册并使用它来显示通知,您可以这样做:

    messaging.onMessage(function(payload) {
        console.log("onMessage: ", payload);
        navigator.serviceWorker.getRegistration('/firebase-cloud-messaging-push-scope').then(registration => {
            registration.showNotification(
                payload.notification.title,
                payload.notification
            )
        });
    });
    

    【讨论】:

      【解决方案2】:

      我不确定是否有其他方法可以解决这个问题,但我刚刚创建了一个新通知并使用了 messageReceived 方法中收到的有效负载:

      function messageReceived(payload) {    
        var notificationOptions = {
          body: payload.notification.body,
          icon: payload.notification.icon,
          click_action: payload.notification.click_action
        };
        new Notification(payload.notification.title, notificationOptions);
      }
      

      【讨论】:

      • 通知类已弃用,不支持 Android。此解决方案仅适用于 PC,通知也不通知托盘
      猜你喜欢
      • 2022-11-24
      • 1970-01-01
      • 2022-08-15
      • 1970-01-01
      • 1970-01-01
      • 2020-06-14
      • 1970-01-01
      • 2021-04-06
      • 1970-01-01
      相关资源
      最近更新 更多