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

当应用程序被杀死时,如何将消息从Firebase发送到设备?[副本]

曾丰茂
2023-03-14

我正在尝试熟悉Firebase通知。它的工作很好,但是当应用程序没有打开的时候,我只能从通知控制台接收消息。

我知道文件上说:

如果您的应用程序在前台或后台,您可以通过onMessageReceived方法接收消息,否则用户将在任务栏中接收通知。点击它会打开主活动,里面有数据

====回答====

在此查找答案

无法从通知控制台发送数据消息。

{
    "to": "/topics/your_topic_here",
   "data": {
       "text":"text",
       "text1":"text1",
       ...
   }
}
  1. 授权-key=your_server_key_here
  2. 内容-类型-应用程序/JSON

要获取服务器密钥,您可以在firebase控制台中找到它:您的项目->设置->项目设置->云消息传递->服务器密钥

共有1个答案

艾国安
2023-03-14

如果应用程序在后台,或者仅当消息通过Firebase控制台发送时被杀死,则不会调用onMessageReceived()方法。

当应用程序没有运行时,您将收到来自firebase控制台的通知。但是,如果您想通过onMessageReceived()截取数据,那么您就必须创建一个自定义的app服务器,它将只向fcmendpoint发送数据负载。简而言之,如果您想要在这种情况下更有效地利用FCM,您必须创建一个应用程序服务器。

您可以看一下这两个问题,这两个问题更多地讨论了相同的问题,在第二个问题中,我还简要讨论了使用node.js和java servlet来实现相同的操作:

    null

如果这能给你提供一些信息,一定要让我知道。

 类似资料:
  • 在搜索文档之后,我找不到任何关于如何在没有使用外部服务器的情况下使用FCM向设备发送消息的信息。 例如,如果我正在创建一个聊天应用程序,我将需要向用户发送关于未读消息的推送通知,因为他们不会一直在线,而且我不可能在后台有一个始终连接到实时数据库的持久服务,因为这会占用太多资源。 那么当某个用户“B”向他/她发送聊天消息时,我将如何向用户“a”发送推送通知呢?我需要一个外部服务器来完成这个任务吗?还

  • null 当我确实从Firebase云消息发送给自己一条测试消息时,它确实工作正常,并且成功地向每个设备发送了一个推送通知。 例如,以下是 null

  • 我正在开发一个电子邮件应用程序,我希望用户在收到新电子邮件后立即收到推送通知。为此,我使用FCM。我刚刚通过以下链接尝试使用FCM推送通知:https://www.youtube.com/watch?v=XijS62iP1Xo 感谢每一种帮助。提前感谢。

  • 我不确定我遇到的问题是概念问题还是技术问题,因为配置错误。 目标是在应用程序容器中托管的Java EE应用程序(特别是WildFly)和独立运行的Java SE应用程序之间发送双向消息,都使用标准JMS协议和主题。我认为这应该是可能的,只要他们都使用相同的经纪人和相同的主题。 因此,我有一个外部 Artemis 实例作为消息代理运行,并在 Java EE 应用程序的单独 Bean 中成功设置了生产