我们有一个Wear OS应用程序,它非常依赖Firebase消息。我们从 pyfcm 发送仅限数据消息,我们会在onMessageReceived()
内处理这些消息。所有邮件均为高优先级。这似乎在一段时间内正常工作,这种情况各不相同 - 可能在10分钟到几个小时之间。
一段时间后,我们停止接收消息。从文档中我知道即使在Doze中,高prio数据消息也应该唤醒设备 - 不幸的是,这种情况并没有发生。
我们认为它正在发生的是FCM因为低交互模式而无法优先考虑我们的通知。问题是他的核心功能是我们无法改变的。
知道如何克服这个问题吗?
答案 0 :(得分:1)
我不认为问题在于FCM会优先处理您的邮件。问题可能是在处于打盹模式时Wear OS如何处理您的应用程序。
Android智能手机中存在类似的问题。当用户从系统托盘中滑动应用程序时,它们不会从FCM接收推送通知,因为由于品牌特定的电池节省原因,处理推送通知所需的服务(MessagingService和InstanceIDService)不在后台运行。要了解智能手机上的问题,请参阅:Firebase Github issue。
可能经过一段时间后你的应用程序处于后台,它会被操作系统杀死以节省电量,因此服务没有运行,也不再收到通知。
无论如何,如果没有进一步解释应用程序如何工作,没有任何代码,我只能猜测。