当前位置: 首页 > 知识库问答 >
问题:

是否可以通过Firebase Cloud Messaging(FCM)向离线用户发送消息?

华知
2023-03-14

我正在开发一个渐进式Web应用程序(PWA),我需要通过推送消息发送重要的提醒。即使离线,用户也应该收到它们。有没有可能使用Firebase云消息(FCM)(可能预加载消息或类似的东西?)或者我需要为脱机获取不同的路由吗?

共有1个答案

齐锐进
2023-03-14

根据以下Al的评论和以上Frank的评论改编

可以通过Firebase Cloud Messaging(FCM)向脱机的设备发送“推送消息”,但用户只有在设备重新联机时才会看到该消息。如果设备处于离线状态,它就不能立即接收来自“外部世界”的任何(推送)消息。如果您想要触发一些提醒,这些提醒对于一个离线的设备是立即可见的,您将不得不在本地,在设备上执行,而不是依靠来自“外部世界”的推动。

所以,说到这里,如果你想要使用Firebase云消息传递来发送消息,你可以通过使用云功能来完成,即从一个“可信的环境”来完成。看看这个官方的Firebase云函数示例:https://github.com/Firebase/functions-samples/tree/master/fcm-notifications

当一个新的项目被保存在数据库(实时数据库或Firestore)中,或者一个现有的项目被修改/删除,或者一个文件被上传到存储中,等等时,您可以触发这个云功能。

 类似资料:
  • 我有一个Spring启动应用程序运行在heroku。我使用webSocket为特定用户向客户端和服务器发送消息。我使用Spring引导的SimpMessagingTemplate.convertAndSendToUser来发送和接收消息,当用户需要从服务器获取消息时,这种方法效果很好。我使用Heroku会话亲和力,这意味着即使我扩大了会话的数量,用户和webSocket仍然共享同一个会话。 当我需

  • 问题内容: 我只能在用户的套接字ID直接存储在io.sockets.on(’connect’)函数中时向用户发出消息。我不知道为什么在登录后尝试存储其套接字ID时为什么不起作用。 加工: 无法运作: JavaScript客户端代码段 解决方案:感谢@alessioalex, 我不得不从登录页面中删除对socket.io的引用,并将以下内容添加到io.sockets.on(’connection’)

  • 我正在开发一个应用程序,用户必须从列表中选择任意数量的国家,我必须通过多部分发送所选的名称。 但是,在所有的尝试中,我都得到了错误retrofit.retrofiterror:Part body不能为null。 我还提到,ChangeLog for refitfit提到“new:Support iterable and array参数使用OKHTTP的”,但是经过深入研究,我发现给定的示例相当混乱

  • 我正在rails 5中编写一个Api Rest,使用gem'fcm'发送通知。我已经在android应用程序中配置了firebase,我可以从firebase控制台成功发送通知,但从rails api我无法在设备中接收通知,这是我的代码: 这是我的rails控制器: 我从邮递员执行这是执行控制器的路线: http://localhost:3000/acciones/enviar?here 将设备令

  • 我可以从Firebase控制台向单个设备、主题和用户段发送通知。 我想向用户段发送推送通知。我搜索了很多,但我只得到脚本发送通知给单个用户或主题,而不是用户段。 我试过下面的代码 下面是我的回答

  • 我正在尝试使用Google PHP API客户端https://github.com/googleapis/google-api-php-client/ 通过Google HTTPv1 API发送FCM推送通知。 以下是实际答复: 我一直得到的反应基本上是禁止的。(我也可以在谷歌开发者控制台中看到) Firebase Cloud Messaging API与Google Cloud Messagi