code: public void setData(JSONObject data) {
      try {
        Map<String, Object> map = new HashMap<String, Object>();
        Iterator iter = data.keySet().iterator();
        while (iter.hasNext()) {
          String key = (String) iter.next();
          Object value = data.get(key);
          map.put(key, value);
        }
        this.pushData.put("data", map);
      } catch (Exception exception) {
        LOGGER.w(exception);
      }
    }
docs: Sets the entire data of the push message. See the push guide for more details on the data
  format. This will overwrite any data specified in AVPush.setMessage(String).