"notification":{
"title":"[add title]",
"body":"[add your message]",
"badge":11
}
在我的FCM中发送通知对象中的徽章
如何获得
PS。 title
和body
我可以得到它,但我无法获得徽章
谢谢!
答案 0 :(得分:1)
你需要获得"徽章"像jsonObject.getInt这样的int("徽章")。
答案 1 :(得分:1)
您可以从以下方法中检索数据
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Map<String, String> data = remoteMessage.getData();
String title = data.get("title").toString();
String message = data.get("body").toString();
String message = data.get("badge").toString();
}
答案 2 :(得分:0)
你可以通过 - :
来做到jsonObject.getInt("badge").
答案 3 :(得分:0)
根据doc,您必须以data
类型发送通知,以发送/接收自定义参数。你必须从像
"data":{
"title":"[add title]",
"body":"[add your message]",
"badge":"11"
}
在接收方,您可以解析如下:
@Override
public void onMessageReceived (RemoteMessage remoteMessage){
super.onMessageReceived(remoteMessage);
Log.d(TAG, "From: " + remoteMessage.getFrom());
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
Log.e(TAG, "Data Payload: " + remoteMessage.getData().toString());
try {
Map<String, String> map = remoteMessage.getData();
handleDataMessage(map);
} catch (Exception e) {
Log.e(TAG, "Exception: " + e.getMessage());
}
}
}
private void handleDataMessage(Map<String,String> json){
Log.e(TAG, "push json: " + json.toString());
try {
String title = json.get("title");
String message = json.get("body");
String badge = json.get("badge");
// Display notication depends on received data
} catch (Exception e) {
Log.e(TAG, "Exception: " + e.getMessage());
}
}