如何在HMS Push Kit和React Native中收到应用程序自动处理的通知



我使用的是react native v0.61.5以及最新版本的react nativehms-push(App)和hms-push-serverdemo-nodejs。

我的服务器应用程序能够同时发送通知消息和数据消息。

我不清楚的是必须如何实现消息才能实现

  1. 当应用程序处于终止状态时:收到消息,声音响起,出现气泡,用户点击通知气泡,应用程序在打开时处理通知有效载荷

  2. 当应用程序处于终止状态时:收到消息,声音响起,出现气泡,用户在不点击通知气泡的情况下打开应用程序,应用程序在打开的同时处理通知负载

  3. 当应用程序处于后台状态时:收到消息,声音响起,出现气泡,用户在不点击通知气泡的情况下打开应用程序,应用程序在打开的同时处理通知有效载荷

  4. 当应用程序处于后台状态时:收到消息,声音响起,出现气泡,用户在不点击通知气泡的情况下打开应用程序,用户在打开的同时处理通知有效载荷

  5. 当应用程序处于前台状态时:收到消息,声音响起,气泡没有出现(没有气泡可点击),应用程序会突然处理通知有效载荷

我们遇到了一些困难来满足上面列出的所有这5个要求。我们必须从服务器端发送什么?数据消息还是通知消息?

我们还尝试使用:

let message = {
notification: {...},
android: {androidConfig..., notification: {foreground_show: [false|true]}},
token: new Array(pushDeviceToken)
};

两者:

let message = {
data: notification,
android: {androidConfig..., notification: {foreground_show: [false|true]}},
token: new Array(pushDeviceToken)
};

但似乎没有最好的选择。。。

还有一件事:foreground_show似乎不适用于通知消息,当我保持应用程序处于打开状态并用foreground_show: true发送通知消息时,不会出现气泡,应用程序也不会处理通知。

原因也可能是应用程序端的配置不正确。目前还不太清楚如何配置它,因为我们是HMS Push Kit的新手。

更新

如果应用程序处于终止状态,则可能无法接收推送数据消息通知。如果您确实需要使用数据消息,您可以申请高优先级数据消息的特殊权限。但同时,申请条件严格,可能很难通过

只有在用户单击通知后,才能触发通知消息。

因此,对于";如果应用程序处于前台状态,则通知消息不会被自动处理;您提到的场景,建议您首先使用服务器交互来覆盖前台场景。如果由于应用程序处于后台或终止状态而无法处理消息,请使用通知消息。


当应用程序处于终止状态时:收到消息,声音响起,出现气泡,用户点击通知气泡,应用程序在打开时处理通知有效载荷

在常见的通知消息中,您可以选择消息>通知>data以设置自定义参数(有效载荷)。打开应用程序时,可以调用onNotificationOpenedApp事件来获取相关内容。

当应用程序处于终止状态时:收到消息,声音响起,出现气泡,用户在不点击通知气泡的情况下打开应用程序,应用程序在打开时处理通知有效载荷

建议应用程序在启动时通过与应用程序服务器的连接获取相关信息,并在启动时清除现有通知(本机Android功能)。

当应用程序处于后台状态时:收到消息,声音响起,出现气泡,用户打开应用程序而不点击通知气泡,应用程序在打开时处理通知有效载荷

建议应用程序通过与应用程序服务器的连接获取相关信息,并在启动期间清除现有通知(本机Android功能)。

当应用程序处于后台状态时:收到消息,声音响起,出现气泡,用户在不点击通知气泡的情况下打开应用程序,用户在未点击通知气泡情况下打开该应用程序,应用程序在打开时处理通知有效载荷

与上一个问题相同。

当应用程序处于前台状态时:收到消息,声音响起,气泡没有出现(没有气泡可点击),应用程序会突然处理通知有效载荷

您可以参考以下指南执行配置:https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides-V5/android-fgrd-show-0000001050040126-V5?ha_source=hms1

最新更新