【问题标题】:How to add a JSON to payload in JavaPNS push notification?如何在 JavaPNS 推送通知中将 JSON 添加到有效负载?
【发布时间】:2015-03-18 10:31:28
【问题描述】:

我想在通知中添加 JSON。我现在可以发送警报了。如何发送带有通知的 JSON?

我目前正在使用的代码 sn-p:

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
}

我怎样才能通过这个?

【问题讨论】:

    标签: java ios apache notifications javapns


    【解决方案1】:

    我为你找到了解决方案。

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

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

    它对我有用:)

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-07-19
        • 2017-07-23
        • 2021-10-15
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        • 1970-01-01
        相关资源
        最近更新 更多