java - android系统会阻止FCM通知吗

标签 java android kotlin push-notification firebase-cloud-messaging

我每 2 分钟向设备发送一次数据通知,以收集数据(GPS、信号强度...)。

将收集的数据发送到 API 的 FCM 触发器服务

但是,在某些情况下,设备会停止接收 FCM 通知来启动该应用程序,甚至直到重新启动它为止。

这有什么原因吗?我该如何解决?

注意:我已在 Firebase 控制台中将服务器添加到白名单

最佳答案

通常,我们可以向注册设备发送两种类型的 FCM 消息。第一个是数据消息,另一个是通知消息。数据消息的默认优先级为NORMAL,而通知消息的默认优先级为HIGH。具有高优先级的消息被认为首先被传递(这意味着在某些情况下有可能收不到数据消息)。但在从服务器发送数据消息时可以将数据消息的优先级更改为高。 https://firebase.google.com/docs/cloud-messaging/concept-options#setting-the-priority-of-a-message

但就我而言,我遇到过一些情况,即使将优先级设置为“高”,我也无法接收 FCM 消息。因此,我选择使用 FCM 包装服务(例如 Onesignal)来发送推送通知。在消息传递的情况下要好得多。里面是FCM,但他们在一定程度上处理了消息传递问题。看一眼 https://onesignal.com/

关于java - android系统会阻止FCM通知吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56898589/

相关文章:

java - 将 --add-opens 参数传递给 Java webstart

java - 向Servlet提交登录信息

java - LibGDX InputAdapter touchDown/touchUp 问题 - 必须按住 touchUp 至少 1 秒才能注册

android 布局兼容性,以编程方式 vs 资源文件,专门针对语言方向

android - 如何在android sqlite中检索两个日期之间的数据

android - 为什么我们在 Kotlin 用例中使用调用运算符重载?

kotlin - 为什么返回调用者适用于 `List` 而不是 `Map` ?

java - 存储嵌套列表

gradle - 如何使用 gradle-script-kotlin 配置 spring-boot 重新打包

安卓阿拉伯语