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

当应用程序被杀死时,是否可能收到FCM推送通知?

柴增
2023-03-14

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

感谢每一种帮助。提前感谢。

共有3个答案

朱欣荣
2023-03-14

只有当您考虑发送数据有效载荷而不是通知,并在<代码> OnMeXeAGE()/<代码>中处理它时

在这里获取更多信息

如何在后台和前台处理Firebase通知?

秦博达
2023-03-14

在应用程序设置中被“强制停止”杀死/停止的应用程序中无法接收消息推送:

让我引用我从Firebase支持部门得到的回答,当我向他们提出这个问题时:

Android框架建议,在没有明确的用户交互的情况下,不应启动已停止的应用程序(即停止设置/强制停止设置)。FCM遵循此建议,因此不会向停止的应用发送消息。以下是一些讨论此主题的文档:

  • 使用Firebase Cloud从FCM发送到设备的消息的有效期

这证实了我使用一个简单的应用程序测试它时观察到的情况。

但是,当应用程序处于后台时,您应该能够从FCM获取推送消息,即使它从Recents屏幕上被刷掉,或者在系统重新启动后。也就是说,除非制造商做出滑动手势,以“强制停止”在您的设备上的方式工作。如何在后台接收取决于消息推送是否包含通知有效载荷:

  • 如果是这样,只有当用户点击通知时,您才会收到"data",并且它将在Intent附加内容中传递给通知操作发起的活动。
  • 如果没有,您将在onMessageRec的中收到通知,就像应用程序在前台时一样。

其他一些情况下,当你的应用程序没有被杀死,但仍然可能没有收到推送通知:

  • 如果不为推送消息使用高优先级,则可能会因为打瞌睡模式而出现延迟
夏兴平
2023-03-14

有2种类型的推送通知:数据消息和通知消息。

如果您正在使用数据消息,您将负责处理收到的消息并向用户发送通知(当然,如果需要)。但在这种情况下,当应用程序关闭时,您可能会错过通知。

如果您正在使用通知消息,FCM正在为您处理消息,并在应用程序处于后台/关闭状态时直接显示通知。

请在这里查看更多。

 类似资料: