1

IOS 上的通知屏幕截图您好我一直在尝试使用我的应用程序所需的自定义参数将推送通知从 android 发送到 ios。尝试像上面的代码一样将其作为哈希图发送,但根本没有收到该通知,而是收到默认通知:“您有 1 条未读消息”。还尝试将其作为 json 发送(请参考代码),但它以纯文本形式发送,并且如附加的屏幕截图所示,在给用户的通知中显示为 json 文本。请帮助我,这样我就可以发送通知,其中仅向用户显示“消息”部分和其他自定义参数以供应用程序内部使用。

    StringifyArrayList<Integer> userIds = new StringifyArrayList<Integer>();
    userIds.add(userId1);

    QBEvent event = new QBEvent();
    event.setUserIds(userIds);

    event.setEnvironment(QBEnvironment.DEVELOPMENT);
    event.setNotificationType(QBNotificationType.PUSH);
    event.setPushType(QBPushType.APNS);

    JSONObject json = new JSONObject();
    JSONObject json1 = new JSONObject();
    try {
        // standart parameters

        json.put("text", message);

        // custom parameters
        json1.put("sellerName", sellerName);
        json1.put("Buyer Name", buyerName);
        json1.put("Type",type);

        json.put("custom",json1 );

    } catch (Exception e) {
        e.printStackTrace();
    }
  //HashMap<String, Object> data = new HashMap<String, Object>();
    //data.put("message", message);
   // data.put("sellerName",sellerName);
    //data.put("Type", type);
    //event.setMessage(data);
    event.setMessage(json.toString());


    QBPushNotifications.createEvent(event).performAsync(new QBEntityCallback<QBEvent>() {
        @Override
        public void onSuccess(QBEvent qbEvent, Bundle bundle) {

            System.out.println("QBPush Message success"+qbEvent.getMessage());
        }

        @Override
        public void onError(QBResponseException e) {
          //  System.out.println(" QB Error in Push Message success");
            e.printStackTrace();

        }
    });
4

1 回答 1

0

如果您需要发送通用推送通知(适用于所有平台的推送通知,不仅适用于 iOS 或 Android),那么您需要省略 PushType:

event.setPushType(QBPushType.APNS);

来自文档:

https://quickblox.com/developers/Messages#Create_event

事件[push_type]:

  • 如果不存在 - 通知将发送到指定用户的所有可能的设备。
  • 如果指定 - 通知将仅发送到指定平台

您可以参考推送通知代码示例页面以接收更多代码片段(通用推送通知 -> 使用自定义参数):https ://quickblox.com/developers/SimpleSample-messages_users-android#Universal_push_notifications

于 2017-03-21T15:21:38.970 回答