HMS Push插件-当应用处于终止状态时如何接收数据消息

问题描述

Android-具有HMS推送插件 HmsPushEvent.onRemoteMessageReceived 的华为,当应用程序处于终止状态时未触发此事件。仅当应用程序处于前台后台状态时才调用此事件。您能告诉我当应用处于终止状态时将调用哪个事件吗?

解决方法

Push Kit支持两种类型的消息:通知消息和数据消息。设备收到数据消息后,设备会将其传输到您的应用程序,而不是直接显示该消息。然后,您的应用会解析消息并触发相应的操作。 Push Kit仅用作通道,数据消息的传递取决于应用程序的驻留状态。但是,即使您的应用未启动,通知消息仍然可以传递。

为节省电量且不打扰用户,停止运行后,Push Kit将不会启动您的应用程序,并且不会将任何数据消息传递到您的应用程序。在这种情况下,您可以根据您的服务确定是否使用通知消息。

要允许用户在点击通知消息后打开应用的指定页面,请按照以下步骤操作:

  • 生成Intent参数
  • 在应用服务器上的消息正文中设置意图
  • 在应用程序的AndroidManifest.xml文件中注册要启动的Activity类
  • 在定制的Activity类中接收数据

来自:https://stackoverflow.com/a/64100678/14006527

或者,您可以设置高优先级数据消息以强制启动已停止的应用程序以接收和处理消息。为此,您需要通过参考相关说明in FAQs来申请特殊权限。