我正在使用Firebase Cloud Messaging将数据消息发送到我的Android应用。设备可能会脱机,并且在服务器上排队的多个数据消息将发送到特定设备。
收到消息后,我必须根据消息中的数据执行一些特定的代码。
是否有某种方法可以确保在onMessageReceived()中收到消息时队列中没有其他消息要传递到我的设备?
我问这个是因为在收到多条消息时,所有消息中的数据需要在开始处理之前合并。
谢谢!
答案 0 :(得分:0)
我认为单独使用FCM 并不是这个用例的最佳选择。一般而言,FCM的预期行为是尽快发送消息。
有一点需要提醒的是,FCM是推送通知服务。因此,需要同步数据的用例不是一个很好的匹配。
我可以想到你可以在这里使用FCM的方法是简单地发送推送通知,通知用户需要同步数据。点击通知后,您可以使用DownloadManager(不确定您需要同步哪些数据,但对于下载,通常是这样)来下载您需要的数据,然后处理数据。