当应用程序关闭/杀死时,Android中的Firebase推送通知问题



firebase push仅使用数据有效载荷关闭应用时在某些设备上不起作用。请参阅此线程:https://github.com/firebase/quickstart-android/issues/41

我知道何时通过滑动杀死应用程序,然后有些OEM杀死了该应用程序的所有服务,该应用程序直接影响FireBbaseMessagingService,并且由于这种onMessageReceived((方法从未调用。我还尝试过高优先级FCM,但可悲的是没有成功。这是我面对问题的手机:一plus,联想,华为。

目前,当我将电池设置更改为"不优化"时,我正在使用OnePlus 5进行测试,然后推动通知开始工作。

我杀死了该应用程序并运行dumpsys package MY-PACKAGE | grep stopped命令,发现该应用程序没有停止。它显示stopped=false。这意味着应用程序正在运行。

推送通知的概念是在关闭应用程序时通知用户,但目前我们无法执行。

有什么建议如何修复?

FirebaseMessagingService即使关闭/杀死应用也可以接收PushNotification

但是有一些问题。应用程序的行为在开发和生产之间发生变化,并且由于设备提供商。

您必须考虑的第一件事是,当应用程序正在开发时,如果您强制关闭应用程序(杀戮过程(,则FirebaseMessagingService停止触发。但这并非在生产中发生,因此如果您的APK签名,请不要意识到这一点。链接到源

第二件事是,有一些由他们自我管理流程的Android电话提供商。我们可以看到像华为手机及其"受保护的应用程序"这样的示例,该示例使用户决定是否要保护该应用程序。只有著名的应用程序在安装中受到保护,例如Whatapp或Twitter ...链接

在这一点上,应触发您的FirebaseMessagingService,但是与系统(OS(管理的内存和过程有关的其他问题。您的Service可以取消,因为它花了时间来处理PushNotification。您可以找到许多解决此问题的方法,但最好的方法是Firebase JobDispatcher。链接到源

相关内容

  • 没有找到相关文章

最新更新