繁体   English   中英

Oreo 及以上版本中的 FCM 后台通知

[英]FCM background notification in Oreo and above

由于 android 的众多应用程序限制,包括打盹模式和不同的OEM有自己的电池优化实现。

所以我发现 GCM 服务一直在运行,有没有办法让 FCM 自己在后台处理通知? 不依赖于我的应用程序或应用程序 state?

我只发送我希望 FCM 在没有我的应用程序的情况下处理的通知消息,因为我的应用程序可能会被应用程序杀手强制停止或杀死。

FCM 可以在没有我的应用参与的情况下只处理通知吗?

FCM 文件指出

使用 FCM,您可以向客户端发送两种类型的消息:

  • 通知消息,有时被认为是“显示消息”。 这些由 FCM SDK 自动处理。

  • 数据消息,由客户端应用程序处理。

在您的情况下,您似乎正在寻找Notification messages 简而言之,当您的应用程序处于后台时,FCM 将自动显示标准的 android 通知,其中包含标题和消息( body )。

要使其正常工作,需要通过 Firebase 发送通知(例如使用firebase 控制台云功能),并且它需要包含notification密钥,如以下示例所示:

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    }
  }
}

至于你的应用程序方面,它主要只需要设置为 Firebase 客户端 如果在任何情况下您想在您的应用程序处于前台时也接收/显示通知,那么您必须创建一个扩展FirebaseMessagingService的服务,如此所述

奖励:由于您的目标看起来像是 android 8+,您可能还需要查看通知通道,因为每个通知都必须分配给一个通道才能显示。 默认情况下,你会得到一个基本设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM