如何获取自定义数据
How to get custom data
像这样在消息负载中定义的自定义标记数据。
{
"message": {
"notification": {
"title": "message title",
"body": "message body"
},
"android": {
...
},
"token": [
"pushtoken1"
]
},
"custom_data": ...
}
我想从 RemoteMessage 对象中获取这个 custom_data。
public class HmsService extends HmsMessageService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
// remoteMessage.getCustomData
}
}
如何编写这个函数?
尝试使用以下代码。
if (remoteMessage.getData().containsKey("custom_data")) {
remoteMessage.getData().get("custom_data");
}
更新
参考document
,您可以试试下面的示例代码:
华为Push Kit支持两种消息类型:通知消息和数据消息。
根据您发送的数据,您正在使用通知消息。自定义的 Notification 消息数组不能直接发送到应用程序。需要通过ClickAction
方式传输数据。
用户自定义的数据可以直接传到Data Messages中的data域,可以用onMessageReceived
方式接收。
更多详细信息,您可以参考以下文档:
像这样在消息负载中定义的自定义标记数据。
{
"message": {
"notification": {
"title": "message title",
"body": "message body"
},
"android": {
...
},
"token": [
"pushtoken1"
]
},
"custom_data": ...
}
我想从 RemoteMessage 对象中获取这个 custom_data。
public class HmsService extends HmsMessageService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
// remoteMessage.getCustomData
}
}
如何编写这个函数?
尝试使用以下代码。
if (remoteMessage.getData().containsKey("custom_data")) {
remoteMessage.getData().get("custom_data");
}
更新
参考document ,您可以试试下面的示例代码:
华为Push Kit支持两种消息类型:通知消息和数据消息。
根据您发送的数据,您正在使用通知消息。自定义的 Notification 消息数组不能直接发送到应用程序。需要通过ClickAction
方式传输数据。
用户自定义的数据可以直接传到Data Messages中的data域,可以用onMessageReceived
方式接收。
更多详细信息,您可以参考以下文档: