我每2分钟向设备发送一次数据通知,以收集数据(GPS,信号强度...)。
将收集到的数据发送到API的FCM触发服务
但是,在某些情况下,设备会停止接收FCM通知以启动该应用程序,甚至直到重新启动它为止。
有什么原因吗?我该如何通过?
注意:我在Firebase控制台中将服务器添加到白名单
答案 0 :(得分:0)
通常,我们可以将两种FCM消息发送到已注册的设备。第一个是 data 消息,另一个是 notification 消息。数据消息的默认优先级为 NORMAL ,其中通知消息的优先级为 HIGH 。具有高优先级的消息被认为是首先发送的(这意味着在某些情况下有可能不接收数据消息)。但是,从服务器发送数据消息时,可以将数据消息的优先级更改为HIGH。 https://firebase.google.com/docs/cloud-messaging/concept-options#setting-the-priority-of-a-message
但是在我的情况下,即使将优先级设置为“高”,我也无法接收FCM消息。因此,我选择使用 Onesignal 之类的FCM包装器服务来发送推送通知。如果是邮件传递,那就更好了。内部是FCM,但他们在一定程度上处理了消息传递问题。看一眼 https://onesignal.com/