diff --git a/CHANGES.md b/CHANGES.md
index 1b1daa9..d56d6b7 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,5 +1,13 @@
# Release Notes
+## 1.0.0.15
+
+### update
+
+* 支持本地消息分类
+* 最稳定域名检测开关支持通过启动项配置
+* 设置非个推域名时强制关闭稳定域名检测
+
## 1.0.0.14
### update
@@ -49,35 +57,49 @@
* 完善参数和注释
## 1.0.0.7
+
### Fix
+
* 修复超时重试http连接未释放问题
### update
+
* 移除guava依赖
* 支持设置获取连接池中http连接超时时间
## 1.0.0.6
+
### Fix
+
修复并发请求消息体异常问题
## 1.0.0.5
+
### Fix
+
修复长连接单位错误问题 由分钟改为秒
## 1.0.0.4
+
### Features
+
支持设置长连接有效期
## 1.0.0.3
+
### Features
+
1. ios支持自定义参数
### Fix
+
1. 修复jdk11 json反序列化报错问题: ParameterizedTypeImpl 类找不到
2. 修复jdk1.6 https证书错误问题
3. 服务端返回500支持重试
4. 修复首次鉴权失败后空指针异常
## 1.0.0.2
+
### Features
+
1. 支持设置httpclient最大连接数,解决并发大时获取连接慢问题
diff --git a/README.md b/README.md
index 2943ecd..acb6df4 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@
com.getui.push
restful-sdk
- 1.0.0.14
+ 1.0.0.15
```
diff --git a/pom.xml b/pom.xml
index 79447a4..5f2d6cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
com.getui.push
restful-sdk
jar
- 1.0.0.14
+ 1.0.0.15
https://github.com/GetuiLaboratory/getui-pushapi-java-client-v2
Getui Push API Java Client
Getui's officially supported Java client library for accessing Getui APIs.
diff --git a/src/main/java/com/getui/push/v2/sdk/GtApiConfiguration.java b/src/main/java/com/getui/push/v2/sdk/GtApiConfiguration.java
index 98581c0..0d47a5a 100644
--- a/src/main/java/com/getui/push/v2/sdk/GtApiConfiguration.java
+++ b/src/main/java/com/getui/push/v2/sdk/GtApiConfiguration.java
@@ -3,6 +3,10 @@
import com.getui.push.v2.sdk.common.Assert;
import org.apache.http.client.config.RequestConfig;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
/**
* 应用相关配置信息
* create by getui on 2020/6/4
@@ -32,7 +36,19 @@ public class GtApiConfiguration {
/**
* 是否开启最稳定域名检测,默认开启
*/
- private boolean openAnalyseStableDomainSwitch = true;
+ public final static String ANALYSE_STABLE_DOMAIN_SWITCH_KEY = "gt.analyse.stable.domain.switch";
+
+ /**
+ * 个推顶级域名列表,英文逗号分割
+ */
+ public final static String GT_TOP_LEVEL_DOMAIN_LIST_KEY = "gt.top.level.domain.list";
+
+ /**
+ * 个推顶级域名列表的默认值
+ */
+ private final static String DEFAULT_GT_TOP_LEVEL_DOMAIN_LIST = "getui.com,getui.cn";
+
+ private Set gtTopLevelDomainList;
/**
* 检测最稳定域名时间间隔,默认2分钟检测一次
@@ -41,7 +57,7 @@ public class GtApiConfiguration {
/**
* 如果遇到域名请求地址不断变化或需要排查网络耗时等问题,可以开启此接口(方法)功能后,联系个推技术支持
- * 健康度检查动态开关,true表示开启,否则关闭,不设置则取 {@link #openAnalyseStableDomainSwitch}
+ * 健康度检查动态开关,true表示开启,否则关闭,不设置则取 {@link #ANALYSE_STABLE_DOMAIN_SWITCH_KEY}
*/
public final static String CHECK_HEALTH_DATA_SWITCH_KEY = "gt_healthy_switch";
/**
@@ -136,12 +152,36 @@ public String getDomain() {
return domain;
}
+ private boolean notGtDomain() {
+ for (String gtDomain : getGtTopLevelDomainList()) {
+ if (domain.contains(gtDomain)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+
+ public Set getGtTopLevelDomainList() {
+ if (gtTopLevelDomainList == null) {
+ gtTopLevelDomainList = new HashSet(Arrays.asList(System.getProperty(GT_TOP_LEVEL_DOMAIN_LIST_KEY, DEFAULT_GT_TOP_LEVEL_DOMAIN_LIST).split(",")));
+ }
+ return gtTopLevelDomainList;
+ }
+
+ public void setGtTopLevelDomainList(String list) {
+ System.setProperty(GT_TOP_LEVEL_DOMAIN_LIST_KEY, list);
+ }
+
public boolean isOpenAnalyseStableDomainSwitch() {
- return openAnalyseStableDomainSwitch;
+ if (notGtDomain()) {
+ return false;
+ }
+ return Boolean.parseBoolean(System.getProperty(ANALYSE_STABLE_DOMAIN_SWITCH_KEY, "true"));
}
public void setOpenAnalyseStableDomainSwitch(boolean openAnalyseStableDomainSwitch) {
- this.openAnalyseStableDomainSwitch = openAnalyseStableDomainSwitch;
+ System.setProperty(ANALYSE_STABLE_DOMAIN_SWITCH_KEY, String.valueOf(openAnalyseStableDomainSwitch));
}
public long getAnalyseStableDomainInterval() {
diff --git a/src/main/java/com/getui/push/v2/sdk/core/Configs.java b/src/main/java/com/getui/push/v2/sdk/core/Configs.java
index c5ca2d0..1ef7590 100644
--- a/src/main/java/com/getui/push/v2/sdk/core/Configs.java
+++ b/src/main/java/com/getui/push/v2/sdk/core/Configs.java
@@ -13,7 +13,7 @@ public interface Configs {
String HEADER_DOMAIN_HASH_KEY = "domainHash";
String HEADER_OPEN_STABLE_DOMAIN = "openStableDomain";
- String SDK_VERSION = "1.0.0.14";
+ String SDK_VERSION = "1.0.0.15";
/**
* 预置域名列表
*/
diff --git a/src/main/java/com/getui/push/v2/sdk/dto/req/message/android/GTNotification.java b/src/main/java/com/getui/push/v2/sdk/dto/req/message/android/GTNotification.java
index 74edf23..4de7e42 100644
--- a/src/main/java/com/getui/push/v2/sdk/dto/req/message/android/GTNotification.java
+++ b/src/main/java/com/getui/push/v2/sdk/dto/req/message/android/GTNotification.java
@@ -99,6 +99,11 @@ public class GTNotification {
@SerializedName("redisplay_duration")
private Integer redisplayDuration;
+ /**
+ * 消息分类
+ */
+ private String category;
+
public String getTitle() {
return title;
}
@@ -251,6 +256,14 @@ public void setRedisplayDuration(Integer redisplayDuration) {
this.redisplayDuration = redisplayDuration;
}
+ public String getCategory() {
+ return category;
+ }
+
+ public void setCategory(String category) {
+ this.category = category;
+ }
+
@Override
public String toString() {
return "GTNotification{" +
@@ -273,6 +286,7 @@ public String toString() {
", threadId='" + threadId + '\'' +
", redisplayFreq=" + redisplayFreq +
", redisplayDuration=" + redisplayDuration +
+ ", category='" + category + '\'' +
'}';
}
}