如何在 JavaPNS 推送通知中向有效负载添加 JSON?

How to add a JSON to payload in JavaPNS push notification?

我想在通知中添加 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
}

我怎样才能通过这个?

我找到了适合你的解决方案。

PushNotificationPayload payload=PushNotificationPayload.fromJSON("{\"aps\":{\"content-available\":1,\"sound\":\"\",\"alert\":\"Some alert\"}}");

只取一个字符串,创建 JSON 对象并作为字符串传递给 'PushNotificationPayload.fromJSON'

对我有用:)

我来晚了,但对于未来的读者:您可以使用 addCustomDictionary 方法将任意 JSON 对象添加到 PushNotificationPayload ,该方法采用 Object作为第二个参数。看source code,好像整个payload是一个JSONObject实例,传给addCustomDictionaryObject是直接加进去的。因此,如果您将 JSONObject 实例传递给 addCustomDictionary,在发送消息时它将被正确序列化为 JSON 对象。

如果您的自定义 JSON 对象很大,请记住使用 PushNotificationBigPayload.complex() 创建一个 PushNotificationPayload 实例而不是 PushNotificationPayload.complex()