Rad*_*ndi 3 android react-native huawei-mobile-services huawei-push-notification
我正在尝试读取通知的有效负载,但该事件不会触发。它适用于数据消息,但似乎没有注意到通知。
安卓清单:
<service
android:name="com.huawei.hms.push.react.RNHmsMessageService"
android:exported="true">
<intent-filter>
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
</intent-filter>
</service>
<receiver android:name="com.huawei.hms.push.react.RNReceiver"/>
<meta-data
android:name="push_kit_auto_init_enabled"
android:value="true" />
Run Code Online (Sandbox Code Playgroud)
RNHms消息服务
public void onMessageReceived(RemoteMessage message) {
Log.i(TAG, "onMessageReceived is called");
if (message == null) {
Log.e(TAG, "Received message entity is null!");
return;
}
Log.i(TAG, "getCollapseKey: " + message.getCollapseKey()...
RemoteMessage.Notification notification = message.getNotification();
if (notification != null) {
Log.i(TAG, "\n getImageUrl: " + notification.getImageUrl()...
}
Boolean judgeWhetherIn10s = false;
// If the messages are not processed in 10 seconds, the app needs to use WorkManager for processing.
if (judgeWhetherIn10s) {
startWorkManagerJob(message);
} else {
// Process message within 10s
processWithin10s(message);
}
}
Run Code Online (Sandbox Code Playgroud)
构建.gradle
implementation 'com.huawei.hms:push:4.0.4.301'
Run Code Online (Sandbox Code Playgroud)
我认为 message.getNotification() 始终为空,因此不会触发。
取消日期:
根据@Senthil Ssk的回答,我将答案分为两部分:
这是 HMS Core Push Kit 和 FCM 的区别。使用HMS Core Push Kit时,通知消息会默认投递到系统托盘,数据消息会默认投递到onMessageReceived方法。
此外,HMS Core Push Kit 提供了当您的应用程序在前台时向 onMessageReceived 方法发送通知消息的功能。解决方法是在使用HMS Core Push Kit server API发送消息时,可以在message > android > notification中设置foreground_show字段。如果此字段设置为 true 或留空,即使您的应用程序在前台运行,通知消息也会显示在系统托盘中。如果此字段设置为 false,则可以将消息传递到 onMessageReceived 方法。
这是有效载荷的示例:
{
"message": {
"notification": {
"title": "message title",
"body": "message body"
},
"android": {
"notification": {
"foreground_show": false,
"click_action": {
"type": 1,
"action": "com.huawei.codelabpush.intent.action.test"
}
}
},
"token": [
"pushtoken1"
]
}
}
Run Code Online (Sandbox Code Playgroud)
更多详细信息,您可以参考UI 上的通知消息显示。
| 归档时间: |
|
| 查看次数: |
1581 次 |
| 最近记录: |