locArgs) {
this.locArgs.addAll(locArgs);
return this;
}
- public Builder AddLocArg(String locArg) {
+ public Builder addLocArg(String locArg) {
this.locArgs.add(locArg);
return this;
}
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/apns/ApnsHeaders.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/apns/ApnsHeaders.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/apns/ApnsHeaders.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/apns/ApnsHeaders.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/apns/ApnsHmsOptions.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/apns/ApnsHmsOptions.java
similarity index 95%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/apns/ApnsHmsOptions.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/apns/ApnsHmsOptions.java
index 1f66522..16bc16c 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/apns/ApnsHmsOptions.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/apns/ApnsHmsOptions.java
@@ -20,8 +20,8 @@
public class ApnsHmsOptions {
private static final int TEST_USER = 1;
- private static final int FORMAL_USER = 1;
- private static final int VOIP_USER = 1;
+ private static final int FORMAL_USER = 2;
+ private static final int VOIP_USER = 3;
@JSONField(name = "target_user_type")
private Integer targetUserType;
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/apns/Aps.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/apns/Aps.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/apns/Aps.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/apns/Aps.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendApnsMessage.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendApnsMessage.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendApnsMessage.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendApnsMessage.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendConditionMessage.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendConditionMessage.java
similarity index 96%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendConditionMessage.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendConditionMessage.java
index 92f6da2..cbae11c 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendConditionMessage.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendConditionMessage.java
@@ -51,7 +51,7 @@ public void sendToCondition() throws HuaweiMesssagingException {
JSONObject titleKey = new JSONObject();
titleKey.put("en","好友请求");
JSONObject bodyKey = new JSONObject();
- titleKey.put("en","My name is %s, I am from %s.");
+ bodyKey.put("en","My name is %s, I am from %s.");
multiLangKey.put("key1", titleKey);
multiLangKey.put("key2", bodyKey);
@@ -66,9 +66,9 @@ public void sendToCondition() throws HuaweiMesssagingException {
.setDefaultSound(true)
.setTag("tagBoom")
.setClickAction(ClickAction.builder().setType(2).setUrl("https://www.huawei.com").build())
- .setBodyLocKey("M.String.body")
+ .setBodyLocKey("key2")
.addBodyLocArgs("boy").addBodyLocArgs("dog")
- .setTitleLocKey("M.String.title")
+ .setTitleLocKey("key1")
.addTitleLocArgs("Girl").addTitleLocArgs("Cat")
.setChannelId("Your Channel ID")
.setNotifySummary("some summary")
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendDataMessage.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendDataMessage.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendDataMessage.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendDataMessage.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendInstanceAppMessage.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendInstanceAppMessage.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendInstanceAppMessage.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendInstanceAppMessage.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendNotifyMessage.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendNotifyMessage.java
similarity index 86%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendNotifyMessage.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendNotifyMessage.java
index 242f6c3..2982f12 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendNotifyMessage.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendNotifyMessage.java
@@ -18,6 +18,7 @@
import com.alibaba.fastjson.JSONObject;
import com.huawei.push.android.AndroidNotification;
import com.huawei.push.android.BadgeNotification;
+import com.huawei.push.android.Button;
import com.huawei.push.android.ClickAction;
import com.huawei.push.android.Color;
import com.huawei.push.android.LightSettings;
@@ -51,7 +52,7 @@ public void sendNotification() throws HuaweiMesssagingException {
JSONObject titleKey = new JSONObject();
titleKey.put("en","好友请求");
JSONObject bodyKey = new JSONObject();
- titleKey.put("en","My name is %s, I am from %s.");
+ bodyKey.put("en","My name is %s, I am from %s.");
multiLangKey.put("key1", titleKey);
multiLangKey.put("key2", bodyKey);
@@ -66,9 +67,9 @@ public void sendNotification() throws HuaweiMesssagingException {
.setDefaultSound(true)
.setTag("tagBoom")
.setClickAction(ClickAction.builder().setType(2).setUrl("https://www.huawei.com").build())
- .setBodyLocKey("M.String.body")
+ .setBodyLocKey("key2")
.addBodyLocArgs("boy").addBodyLocArgs("dog")
- .setTitleLocKey("M.String.title")
+ .setTitleLocKey("key1")
.addTitleLocArgs("Girl").addTitleLocArgs("Cat")
.setChannelId("Your Channel ID")
.setNotifySummary("some summary")
@@ -84,6 +85,10 @@ public void sendNotification() throws HuaweiMesssagingException {
.setBadge(BadgeNotification.builder().setAddNum(1).setBadgeClass("Classic").build())
.setVisibility(Visibility.PUBLIC.getValue())
.setForegroundShow(true)
+ .addInboxContent("content1").addInboxContent("content2").addInboxContent("content3").addInboxContent("content4").addInboxContent("content5")
+ .addButton(Button.builder().setName("button1").setActionType(0).build())
+ .addButton(Button.builder().setName("button2").setActionType(1).setIntentType(0).setIntent("https://com.huawei.hms.hmsdemo/deeplink").build())
+ .addButton(Button.builder().setName("button3").setActionType(4).setData("your share link").build())
.build();
AndroidConfig androidConfig = AndroidConfig.builder().setCollapseKey(-1)
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendTestMessage.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendTestMessage.java
similarity index 96%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendTestMessage.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendTestMessage.java
index 2a66a8c..f7d85ed 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendTestMessage.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendTestMessage.java
@@ -46,7 +46,7 @@ public void sendTestMessage() throws HuaweiMesssagingException {
JSONObject titleKey = new JSONObject();
titleKey.put("en","好友请求");
JSONObject bodyKey = new JSONObject();
- titleKey.put("en","My name is %s, I am from %s.");
+ bodyKey.put("en","My name is %s, I am from %s.");
multiLangKey.put("key1", titleKey);
multiLangKey.put("key2", bodyKey);
@@ -61,9 +61,9 @@ public void sendTestMessage() throws HuaweiMesssagingException {
.setDefaultSound(true)
.setTag("tagBoom")
.setClickAction(ClickAction.builder().setType(2).setUrl("https://www.huawei.com").build())
- .setBodyLocKey("M.String.body")
+ .setBodyLocKey("key2")
.addBodyLocArgs("boy").addBodyLocArgs("dog")
- .setTitleLocKey("M.String.title")
+ .setTitleLocKey("key1")
.addTitleLocArgs("Girl").addTitleLocArgs("Cat")
.setChannelId("Your Channel ID")
.setNotifySummary("some summary")
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendTopicMessage.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendTopicMessage.java
similarity index 96%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendTopicMessage.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendTopicMessage.java
index 6ff895d..c7315e2 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendTopicMessage.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendTopicMessage.java
@@ -51,7 +51,7 @@ public void sendToTopic() throws HuaweiMesssagingException {
JSONObject titleKey = new JSONObject();
titleKey.put("en","好友请求");
JSONObject bodyKey = new JSONObject();
- titleKey.put("en","My name is %s, I am from %s.");
+ bodyKey.put("en","My name is %s, I am from %s.");
multiLangKey.put("key1", titleKey);
multiLangKey.put("key2", bodyKey);
@@ -66,9 +66,9 @@ public void sendToTopic() throws HuaweiMesssagingException {
.setDefaultSound(true)
.setTag("tagBoom")
.setClickAction(ClickAction.builder().setType(2).setUrl("https://www.huawei.com").build())
- .setBodyLocKey("M.String.body")
+ .setBodyLocKey("key2")
.addBodyLocArgs("boy").addBodyLocArgs("dog")
- .setTitleLocKey("M.String.title")
+ .setTitleLocKey("key1")
.addTitleLocArgs("Girl").addTitleLocArgs("Cat")
.setChannelId("Your Channel ID")
.setNotifySummary("some summary")
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendWebpushMessage.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendWebpushMessage.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendWebpushMessage.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/examples/SendWebpushMessage.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/exception/HuaweiException.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/exception/HuaweiException.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/exception/HuaweiException.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/exception/HuaweiException.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/exception/HuaweiMesssagingException.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/exception/HuaweiMesssagingException.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/exception/HuaweiMesssagingException.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/exception/HuaweiMesssagingException.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/message/AndroidConfig.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/AndroidConfig.java
similarity index 94%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/message/AndroidConfig.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/AndroidConfig.java
index 99dd3a3..8083cbf 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/message/AndroidConfig.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/AndroidConfig.java
@@ -49,6 +49,9 @@ public class AndroidConfig {
@JSONField(name = "notification")
private AndroidNotification notification;
+ @JSONField(name = "receipt_id")
+ private String receiptId;
+
public AndroidConfig(Builder builder) {
this.collapseKey = builder.collapseKey;
this.urgency = builder.urgency;
@@ -64,6 +67,7 @@ public AndroidConfig(Builder builder) {
this.fastAppTargetType = builder.fastAppTargetType;
this.data = builder.data;
this.notification = builder.notification;
+ this.receiptId = builder.receiptId;
}
/**
@@ -130,6 +134,8 @@ public String getData() {
return data;
}
+ public String getReceiptId() { return receiptId; }
+
/**
* builder
*/
@@ -147,6 +153,7 @@ public static class Builder {
private String data;
private AndroidNotification notification;
+ private String receiptId;
private Builder() {
}
@@ -197,5 +204,10 @@ public Builder setNotification(AndroidNotification notification) {
public AndroidConfig build() {
return new AndroidConfig(this);
}
+
+ public Builder setReceiptId(String receiptId) {
+ this.receiptId = receiptId;
+ return this;
+ }
}
}
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/message/ApnsConfig.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/ApnsConfig.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/message/ApnsConfig.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/ApnsConfig.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/message/Message.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/Message.java
similarity index 98%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/message/Message.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/Message.java
index be6f138..8217eb0 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/message/Message.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/Message.java
@@ -84,8 +84,6 @@ public void check() {
ValidatorUtils.checkArgument(count == 1, "Exactly one of token, topic or condition must be specified");
- boolean isEmptyData = StringUtils.isEmpty(data);
-
if (this.notification != null) {
this.notification.check();
}
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/message/Notification.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/Notification.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/message/Notification.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/Notification.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/message/TokenMessage.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/TokenMessage.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/message/TokenMessage.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/TokenMessage.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/message/TopicMessage.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/TopicMessage.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/message/TopicMessage.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/TopicMessage.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/message/WebPushConfig.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/WebPushConfig.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/message/WebPushConfig.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/message/WebPushConfig.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiApp.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiApp.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiApp.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiApp.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiCredential.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiCredential.java
similarity index 89%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiCredential.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiCredential.java
index b995562..858f362 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiCredential.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiCredential.java
@@ -39,7 +39,7 @@
public class HuaweiCredential {
private static final Logger logger = LoggerFactory.getLogger(HuaweiCredential.class);
- private final String PUSH_AT_URL = "https://oauth-login.cloud.huawei.com/oauth2/v2/token";
+ private final String PUSH_AT_URL = ResourceBundle.getBundle("url").getString("token_server");
private String appId;
private String appSecret;
@@ -47,12 +47,17 @@ public class HuaweiCredential {
private String accessToken;
private long expireIn;
private Lock lock;
- private final CloseableHttpClient httpClient = HttpClients.createDefault();
+ private CloseableHttpClient httpClient;
private HuaweiCredential(Builder builder) {
this.lock = new ReentrantLock();
this.appId = builder.appId;
this.appSecret = builder.appSecret;
+ if (builder.httpClient == null) {
+ httpClient = HttpClients.createDefault();
+ } else {
+ this.httpClient = builder.httpClient;
+ }
}
/**
@@ -137,6 +142,8 @@ public static class Builder {
private String appId;
private String appSecret;
+ private CloseableHttpClient httpClient;
+
private Builder() {
}
@@ -150,6 +157,11 @@ public Builder setAppSecret(String appSecret) {
return this;
}
+ public Builder setHttpClient(CloseableHttpClient httpClient) {
+ this.httpClient = httpClient;
+ return this;
+ }
+
public HuaweiCredential build() {
return new HuaweiCredential(this);
}
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessageClient.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessageClient.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessageClient.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessageClient.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessageClientImpl.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessageClientImpl.java
similarity index 93%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessageClientImpl.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessageClientImpl.java
index 710389b..dd2c0c5 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessageClientImpl.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessageClientImpl.java
@@ -25,9 +25,7 @@
import com.huawei.push.reponse.SendResponse;
import com.huawei.push.reponse.TopicListResponse;
import com.huawei.push.reponse.TopicSendResponse;
-import com.huawei.push.util.ResponceCodeProcesser;
import com.huawei.push.util.ValidatorUtils;
-
import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.HttpResponseException;
import org.apache.http.client.methods.CloseableHttpResponse;
@@ -43,7 +41,7 @@
import java.util.ResourceBundle;
public class HuaweiMessageClientImpl implements HuaweiMessageClient {
- private static final String PUSH_URL = "https://push-api.cloud.huawei.com";
+ private static final String PUSH_URL = ResourceBundle.getBundle("url").getString("push_open_url");
private final String HcmPushUrl;
private String hcmTopicUrl;
@@ -107,16 +105,16 @@ private SendResponse sendRequest(TopicMessage message, String operation, String
SendResponse sendResponse;
if (StringUtils.equals(operation, TopicOperation.LIST.getValue())) {
JSONArray topics = jsonObject.getJSONArray("topics");
- sendResponse = TopicListResponse.fromCode(code, ResponceCodeProcesser.process(Integer.valueOf(code)), requestId, topics);
+ sendResponse = TopicListResponse.fromCode(code, msg, requestId, topics);
} else {
Integer failureCount = jsonObject.getInteger("failureCount");
Integer successCount = jsonObject.getInteger("successCount");
JSONArray errors = jsonObject.getJSONArray("errors");
- sendResponse = TopicSendResponse.fromCode(code, ResponceCodeProcesser.process(Integer.valueOf(code)), requestId, failureCount, successCount, errors);
+ sendResponse = TopicSendResponse.fromCode(code, msg, requestId, failureCount, successCount, errors);
}
return sendResponse;
} else {
- String errorMsg = MessageFormat.format("error code : {0}, error message : {1}", String.valueOf(code), ResponceCodeProcesser.process(Integer.valueOf(code)));
+ String errorMsg = MessageFormat.format("error code : {0}, error message : {1}", String.valueOf(code), msg);
throw new HuaweiMesssagingException(HuaweiMessaging.KNOWN_ERROR, errorMsg);
}
}
@@ -150,9 +148,9 @@ private SendResponse sendRequest(Message message, boolean validateOnly, String a
String msg = jsonObject.getString("msg");
String requestId = jsonObject.getString("requestId");
if (StringUtils.equals(code, "80000000")) {
- return SendResponse.fromCode(code, ResponceCodeProcesser.process(Integer.valueOf(code)), requestId);
+ return SendResponse.fromCode(code, msg, requestId);
} else {
- String errorMsg = MessageFormat.format("error code : {0}, error message : {1}", String.valueOf(code), ResponceCodeProcesser.process(Integer.valueOf(code)));
+ String errorMsg = MessageFormat.format("error code : {0}, error message : {1}", String.valueOf(code), msg);
throw new HuaweiMesssagingException(HuaweiMessaging.KNOWN_ERROR, errorMsg);
}
}
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessaging.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessaging.java
similarity index 97%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessaging.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessaging.java
index e4bf4a9..48596bb 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessaging.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiMessaging.java
@@ -30,8 +30,8 @@
/**
* This class is the entrance for all server-side HCM actions.
*
- * You can get a instance of {@link HuaweiMessaging}
- * by a instance of {@link HuaweiApp}, and then use it to send a message
+ *
You can get a instance of {@link com.huawei.push.messaging.HuaweiMessaging}
+ * by a instance of {@link com.huawei.push.messaging.HuaweiApp}, and then use it to send a message
*/
public class HuaweiMessaging {
private static final Logger logger = LoggerFactory.getLogger(HuaweiMessaging.class);
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiOption.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiOption.java
similarity index 98%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiOption.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiOption.java
index 4a751c2..cf78e48 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiOption.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiOption.java
@@ -32,7 +32,7 @@ public class HuaweiOption {
private final CloseableHttpClient httpClient;
private final ThreadManager threadManager;
- private HuaweiOption(Builder builder) {
+ private HuaweiOption(HuaweiOption.Builder builder) {
ValidatorUtils.checkArgument(builder.credential != null, "HuaweiOption must be initialized with setCredential()");
this.credential = builder.credential;
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiScheduledExecutor.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiScheduledExecutor.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiScheduledExecutor.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiScheduledExecutor.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiService.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiService.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiService.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiService.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiThreadManager.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiThreadManager.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiThreadManager.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/HuaweiThreadManager.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/ImplHuaweiTrampolines.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/ImplHuaweiTrampolines.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/ImplHuaweiTrampolines.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/ImplHuaweiTrampolines.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/ThreadManager.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/ThreadManager.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/ThreadManager.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/ThreadManager.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/TokenRefresher.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/TokenRefresher.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/TokenRefresher.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/messaging/TokenRefresher.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/model/Importance.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/model/Importance.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/model/Importance.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/model/Importance.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/model/TopicOperation.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/model/TopicOperation.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/model/TopicOperation.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/model/TopicOperation.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/model/Urgency.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/model/Urgency.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/model/Urgency.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/model/Urgency.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/model/Visibility.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/model/Visibility.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/model/Visibility.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/model/Visibility.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/reponse/SendResponse.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/reponse/SendResponse.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/reponse/SendResponse.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/reponse/SendResponse.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/reponse/TopicListResponse.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/reponse/TopicListResponse.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/reponse/TopicListResponse.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/reponse/TopicListResponse.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/reponse/TopicSendResponse.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/reponse/TopicSendResponse.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/reponse/TopicSendResponse.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/reponse/TopicSendResponse.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/util/CollectionUtils.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/util/CollectionUtils.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/util/CollectionUtils.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/util/CollectionUtils.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/util/IgnoreSSLUtils.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/util/IgnoreSSLUtils.java
similarity index 98%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/util/IgnoreSSLUtils.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/util/IgnoreSSLUtils.java
index 54d80cf..2cc249c 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/util/IgnoreSSLUtils.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/util/IgnoreSSLUtils.java
@@ -36,7 +36,7 @@
*/
public class IgnoreSSLUtils {
private static SSLContext createIgnoreVerifySSL() throws NoSuchAlgorithmException, KeyManagementException {
- SSLContext sc = SSLContext.getInstance("SSLv3");
+ SSLContext sc = SSLContext.getInstance("TLSv1.2");
X509TrustManager trustManager = new X509TrustManager() {
@Override
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/util/InitAppUtils.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/util/InitAppUtils.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/util/InitAppUtils.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/util/InitAppUtils.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/util/ResponceCodeProcesser.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/util/ResponceCodeProcesser.java
similarity index 90%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/util/ResponceCodeProcesser.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/util/ResponceCodeProcesser.java
index b5ce3d0..7dc482e 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/util/ResponceCodeProcesser.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/util/ResponceCodeProcesser.java
@@ -32,12 +32,16 @@ public class ResponceCodeProcesser {
put(80100004, "TTL is less than current time, please check");
put(80100013, "Collapse_key is illegal, please check");
put(80100016, "Message contians sensitive information, please check");
+ put(80100017, "A maximum of 100 topic-based messages can be sent at the same time.");
+ put(80100018, "Invalid message body");
put(80200001, "Oauth authentication error");
put(80200003, "Oauth Token expired");
put(80300002, "APP is forbidden to send");
put(80300007, "Invalid Token");
put(80300008, "The message body size exceeds the default value set by the system (4K)");
put(80300010, "Tokens exceed the default value");
+ put(80300011, "No permission to send high-level notification messages");
+ put(80600003, "Request OAuth service failed");
put(81000001, "System inner error");
put(82000001, "GroupKey or groupName error");
put(82000002, "GroupKey and groupName do not match");
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/util/ValidatorUtils.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/util/ValidatorUtils.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/util/ValidatorUtils.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/util/ValidatorUtils.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebActions.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebActions.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebActions.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebActions.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebHmsOptions.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebHmsOptions.java
similarity index 100%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebHmsOptions.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebHmsOptions.java
diff --git a/huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebNotification.java b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebNotification.java
similarity index 95%
rename from huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebNotification.java
rename to server/huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebNotification.java
index f84e490..bcdd756 100644
--- a/huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebNotification.java
+++ b/server/huaweipush-server-sdk/src/main/java/com/huawei/push/webpush/WebNotification.java
@@ -51,7 +51,7 @@ public class WebNotification {
private String dir;
@JSONField(name = "vibrate")
- private List