我想在通知中添加JSON。我现在可以发送警报了。如何通过通知发送JSON?
我正在使用的代码片段:
PushNotificationPayload payload = PushNotificationPayload.complex();
payload.addAlert("Hello!!!");
payload.addBadge(1);
payload.addSound("default");
payload.addCustomDictionary("id", "1");
List<PushedNotification> NOTIFICATIONS = Push.payload(payload, "D:\\ios_dev.p12", "1234", true, "b3ead5d64ba0e08241e236f3ee041d8a9f036b39a0b0537e99a5f8b0607");
for (PushedNotification NOTIFICATION : NOTIFICATIONS) {
if (NOTIFICATION.isSuccessful()) {
System.out.println("PUSH NOTIFICATION SENT SUCCESSFULLY TO: " + NOTIFICATION.getDevice().getToken());
}
}
我想添加JSON,如:
{
"message": message,
"m_id": mId,
"callNo": callNo
}
我怎么能通过这个?
答案 0 :(得分:2)
我为你找到了解决方案。
PushNotificationPayload payload=PushNotificationPayload.fromJSON("{\"aps\":{\"content-available\":1,\"sound\":\"\",\"alert\":\"Some alert\"}}");
只获取一个String,创建JSON对象并将其作为String传递给'PushNotificationPayload.fromJSON'
它对我有用:)
答案 1 :(得分:0)
我参加派对的时间已经很晚了,但对于未来的读者:您可以使用PushNotificationPayload
方法将addCustomDictionary
作为一个Object
添加到JSONObject
的任意JSON对象第二个参数。查看source code,似乎整个有效负载都是Object
个实例,并且传递给addCustomDictionary
的{{1}}会直接添加到其中。因此,如果您将JSONObject
实例传递给addCustomDictionary
,则会在发送邮件时将其正确序列化为JSON对象。
如果您的自定义JSON对象很大,请记得使用PushNotificationBigPayload.complex()
创建PushNotificationPayload
实例,而不是PushNotificationPayload.complex()
。