当应用程序位于前台时,Angular 8 firebase 推送通知不起作用

2024-05-18

我正在按照此文档在我的 Angular Web 应用程序上实现 FCM。当我发送通知时,当应用程序未处于活动状态时,它会成功接收。 (接收后台通知)。但如果应用程序处于活动状态,我就不会收到通知。

请按照下列步骤操作:https://dev.to/mayurkadampro/angular-8-firebase-cloud-messaging-push-notifications-97a https://dev.to/mayurkadampro/angular-8-firebase-cloud-messaging-push-notifications-97a

基本上,当有新消息时,这不会触发

this.angularFireMessaging.messages.subscribe(
(payload) => {
    console.log("new message received. ", payload);
    this.currentMessage.next(payload);})

我缺少什么?


您需要手动触发它。

当您收到消息时,只需记录它,然后让消息转到下一条消息:

this.angularFireMessaging.messages.subscribe(
(payload) => {
    console.log("new message received. ", payload);
    this.currentMessage.next(payload);})

您需要触发来自 Service Worker 的通知:

this.angularFireMessaging.messages.subscribe(
(payload) => {
    console.log("new message received. ", payload);
    const NotificationOptions = {
            body: payload.notification.body,
            data: payload.data,
            icon: payload.notification.icon
          }
          navigator.serviceWorker.getRegistration('/firebase-cloud-messaging-push-scope').then(registration => {
            registration.showNotification(payload.notification.title, NotificationOptions);
          });
    this.currentMessage.next(payload);})

然后在 firebase-messaging-sw.js 中添加:

self.addEventListener('notificationclick', function(event) {
    event.notification.close();
    event.waitUntil(self.clients.openWindow(event.notification.data.url));
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当应用程序位于前台时,Angular 8 firebase 推送通知不起作用 的相关文章

随机推荐

  • Python 中的哈希映射

    我想用Python实现HashMap 我想请求用户输入 根据他的输入 我从 HashMap 中检索一些信息 如果用户输入HashMap的某个键 我想检索相应的值 如何在 Python 中实现此功能 HashMap
  • 为什么 Double 不能隐式转换为 Decimal

    我不明白十进制和双精度的转换规则 这样做是合法的 decimal dec 10 double doub double dec 然而令我困惑的是 decimal 是 16 字节的数据类型 而 double 是 8 字节 因此将 double
  • Emma 不生成coverage.ec

    我设置了艾玛 它曾经对我有用 然后我们更改了源代码 现在它没有生成coverage ec根本不 它确实生成coverage em 测试临近结束时 出现错误消息 exec INSTRUMENTATION CODE 0 echo Downloa
  • ESP32:dsb1820 温度传感器给出恒定的负 127 读数

    我正在尝试使用连接到 esp32 微控制器的单个 dsb1820 温度传感器来获取温度读数 传感器连接到 esp32 的 GPIO 4 我打算将温度读数发送到云端 我面临的问题是温度读数总是给出值 127 我在网上某处读到 当 dsb182
  • TortoiseSVN 不要求身份验证?

    我已经在conf文件中设置了一个新的SVN存储库 运行SVNServe anon access none SVNServe 忠实地正确地做到了这一点 但是当我尝试使用 TortoiseSVN 浏览存储库时 它只是说不允许访问 它不应该要求我
  • 将 4 通道图像转换为 3 通道图像

    我正在使用 OpenCV 2 4 6 我正在尝试将 4 通道 RGB IplImage 转换为 4 通道 HSV 图像 下面是我的代码 给出错误 OpenCV 错误 未知函数断言失败 我认为 cvCvtColor 支持 3 通道图像 有没有
  • Minizinc:生成有效的转变

    希望有人能帮助我解决这个问题 最初的问题是生成有效的班次 如下所述 我有这样的数组 m m m o o l l m m m l m m m 具有固定长度 S 其中 m 是工作 o 是办公室 我自由了 我需要确保至少每 6m 就有两个 l 在
  • jQuery输入文件点击方法和IE上拒绝访问

    我尝试仅使用一个按钮作为输入文件 它在 Firefox Chrome Safari 中工作正常 但在 IE 中不行 提交表单时我总是收到 访问被拒绝 的消息 代码 input file click 有真正的解决方法吗 我在谷歌上浪费了大约2
  • 远程 Informix 11.5 命令行客户端

    Informix 11 5 是否附带了与 SQL Server 的 SQLCMD 类似的命令行工具 如果是 如何连接到远程服务器并使用它执行常规 SELECT INSERT UPDATE 查询 正如 Michal Niklas 所说 IBM
  • 如何使用 opencv.omnidir 模块对鱼眼图像进行去扭曲

    我正在尝试使用全向模块 http docs opencv org trunk db dd2 namespacecv 1 1omnidir html用于对鱼眼图像进行扭曲处理Python 我正在尝试适应这一点C 教程 http docs op
  • Linux 中的动态环境变量?

    Linux 中是否可以通过某种方式拥有动态环境变量 我有一个网络服务器 网站遵循以下布局 site qa production 我想要一个环境变量 例如 APPLICATION ENV 当我在 qa 目录中时设置为 qa 当我在生产目录中时
  • 使用 R 下载压缩数据文件、提取和导入数据

    EZGraphs 在 Twitter 上写道 很多在线 csv 都被压缩了 有没有办法下载 解压缩存档并使用 R 将数据加载到 data frame Rstats 我今天也尝试这样做 但最终只是手动下载 zip 文件 我尝试过类似的东西 f
  • 如何检查 NTAccount 对象代表组还是用户?

    使用返回的访问规则时 GetAccessRules True True GetType System Security Principal NTAccount 如何判断每个规则中引用的 NTAccount 对象是用户帐户还是组 Update
  • JSP/Servlet HTTP 404 错误处理

    我想在我的网络应用程序中处理 HTML 404 错误 我可以这样写
  • RMI 中的引用传递问题? [复制]

    这个问题在这里已经有答案了 有人可以告诉我我错在哪里 为什么这个 RMI 聊天应用程序不起作用 目标是通过远程对象或序列化对象实现客户端 服务器和逻辑之间的解耦 import javax swing import java awt even
  • Visual Studio 项目有简单的自动备份系统吗?

    我正在使用 Visual Studio 2008 Express 我希望 Visual Studio 或者可能是外接程序 将我的整个项目保存到某种自动增量存档或任何可以帮助我从灾难中恢复的文件中 我对 SVN 或复杂的版本控制系统没有太多需
  • 如何使用 spring-security-oauth2 和 WebClient 自定义 OAuth2 令牌请求的授权标头?

    我正在尝试通过 WebClient 调用升级到 spring security 5 5 1 我发现oauth2clientId and secret现在 URL 已编码为AbstractWebClientReactiveOAuth2Acce
  • SSL 证书可以用于对文件进行数字签名吗?

    我想问一些关于数字签名的问题 我不太确定 我不想创建用于签署某些 PDF 文件的自签名证书 而是想获取已验证数据的 SSL 证书 但问题是 SSL 证书可以用于数字签名文件吗 或者它是否以某种方式不兼容 编辑 澄清一下 这个问题不是关于如何
  • C# 索引范围表达式的错误结果

    我对索引范围运算符有点困惑 我期望表达式myString 0 应该等于myString 0 0 then myString Substring 0 1 or myString 0 ToString 如果是下面的代码 string myStr
  • 当应用程序位于前台时,Angular 8 firebase 推送通知不起作用

    我正在按照此文档在我的 Angular Web 应用程序上实现 FCM 当我发送通知时 当应用程序未处于活动状态时 它会成功接收 接收后台通知 但如果应用程序处于活动状态 我就不会收到通知 请按照下列步骤操作 https dev to ma