lines = IOUtils.readLines(in, urlConnection.getContentEncoding());
+ StringBuffer strBuf = new StringBuffer();
+ for (String line : lines) {
+ strBuf.append(line);
+ }
+// LOG.info(strBuf.toString());
+ return strBuf.toString();
+ } finally {
+ IOUtils.closeQuietly(outPut);
+ IOUtils.closeQuietly(in);
+ if (urlConnection != null) {
+ urlConnection.disconnect();
+ }
+ }
+ }
+}
diff --git a/src/main/java/cn/wildfirechat/push/hm/payload/AlertPayload.java b/src/main/java/cn/wildfirechat/push/hm/payload/AlertPayload.java
new file mode 100644
index 0000000..c382648
--- /dev/null
+++ b/src/main/java/cn/wildfirechat/push/hm/payload/AlertPayload.java
@@ -0,0 +1,41 @@
+package cn.wildfirechat.push.hm.payload;
+
+import cn.wildfirechat.push.hm.payload.internal.ClickAction;
+import cn.wildfirechat.push.hm.payload.internal.Notification;
+import cn.wildfirechat.push.hm.payload.internal.Payload;
+import cn.wildfirechat.push.hm.payload.internal.Target;
+import com.google.gson.Gson;
+
+import java.util.ArrayList;
+
+
+public class AlertPayload {
+ Payload payload;
+ Target target;
+
+ @Override
+ public String toString() {
+ return new Gson().toJson(this);
+ }
+
+ public static AlertPayload buildAlertPayload(String token, String title, String body) {
+ Notification notification = new Notification();
+ notification.title = title;
+ notification.body = body;
+
+ ClickAction clickAction = new ClickAction();
+ notification.clickAction = clickAction;
+
+ Target target = new Target();
+ target.token = new ArrayList<>();
+ target.token.add(token);
+
+ AlertPayload alertPayload = new AlertPayload();
+ alertPayload.payload = new Payload();
+ alertPayload.payload.notification = notification;
+ alertPayload.target = target;
+
+ return alertPayload;
+ }
+}
+
diff --git a/src/main/java/cn/wildfirechat/push/hm/payload/VoipPayload.java b/src/main/java/cn/wildfirechat/push/hm/payload/VoipPayload.java
new file mode 100644
index 0000000..0a894d2
--- /dev/null
+++ b/src/main/java/cn/wildfirechat/push/hm/payload/VoipPayload.java
@@ -0,0 +1,35 @@
+package cn.wildfirechat.push.hm.payload;
+
+import cn.wildfirechat.push.hm.payload.internal.ClickAction;
+import cn.wildfirechat.push.hm.payload.internal.Notification;
+import cn.wildfirechat.push.hm.payload.internal.Payload;
+import cn.wildfirechat.push.hm.payload.internal.Target;
+import com.google.gson.Gson;
+
+import java.util.ArrayList;
+
+
+public class VoipPayload {
+ Payload payload;
+ Target target;
+
+ @Override
+ public String toString() {
+ return new Gson().toJson(this);
+ }
+
+ public static VoipPayload buildAlertPayload(String token, String extraData) {
+ Target target = new Target();
+ target.token = new ArrayList<>();
+ target.token.add(token);
+
+ VoipPayload voipPayload = new VoipPayload();
+ voipPayload.payload = new Payload();
+ voipPayload.payload.extraData = extraData;
+ voipPayload.target = target;
+
+ return voipPayload;
+ }
+}
+
+
diff --git a/src/main/java/cn/wildfirechat/push/hm/payload/internal/ClickAction.java b/src/main/java/cn/wildfirechat/push/hm/payload/internal/ClickAction.java
new file mode 100644
index 0000000..87666ed
--- /dev/null
+++ b/src/main/java/cn/wildfirechat/push/hm/payload/internal/ClickAction.java
@@ -0,0 +1,14 @@
+package cn.wildfirechat.push.hm.payload.internal;
+
+public class ClickAction {
+ /**
+ * 0:打开应用首页
+ *
+ * 1:打开应用自定义页面
+ */
+ public int actionType;
+
+ public String action;
+ public String uri;
+ public String data;
+}
diff --git a/src/main/java/cn/wildfirechat/push/hm/payload/internal/Notification.java b/src/main/java/cn/wildfirechat/push/hm/payload/internal/Notification.java
new file mode 100644
index 0000000..71237c6
--- /dev/null
+++ b/src/main/java/cn/wildfirechat/push/hm/payload/internal/Notification.java
@@ -0,0 +1,11 @@
+package cn.wildfirechat.push.hm.payload.internal;
+
+public class Notification {
+ public String category = "IM";
+ public String title;
+ public String body;
+ public ClickAction clickAction;
+ public int style;
+ public String image;
+ public Integer notifyId;
+}
diff --git a/src/main/java/cn/wildfirechat/push/hm/payload/internal/Payload.java b/src/main/java/cn/wildfirechat/push/hm/payload/internal/Payload.java
new file mode 100644
index 0000000..54fd429
--- /dev/null
+++ b/src/main/java/cn/wildfirechat/push/hm/payload/internal/Payload.java
@@ -0,0 +1,6 @@
+package cn.wildfirechat.push.hm.payload.internal;
+
+public class Payload {
+ public Notification notification;
+ public String extraData;
+}
diff --git a/src/main/java/cn/wildfirechat/push/hm/payload/internal/Target.java b/src/main/java/cn/wildfirechat/push/hm/payload/internal/Target.java
new file mode 100644
index 0000000..aef219a
--- /dev/null
+++ b/src/main/java/cn/wildfirechat/push/hm/payload/internal/Target.java
@@ -0,0 +1,7 @@
+package cn.wildfirechat.push.hm.payload.internal;
+
+import java.util.ArrayList;
+
+public class Target {
+ public ArrayList token;
+}