diff --git a/README.md b/README.md
index 2c8608df..78bde550 100644
--- a/README.md
+++ b/README.md
@@ -18,13 +18,13 @@
## 安装
### maven 方式
-将下边的依赖条件放到你项目的 maven pom.xml 文件里。v3.3.10 为例,最新版本请看[Release页面](https://github.com/jpush/jpush-api-java-client/releases)
+将下边的依赖条件放到你项目的 maven pom.xml 文件里。v3.4.6 为例,最新版本请看[Release页面](https://github.com/jpush/jpush-api-java-client/releases)
```Java
cn.jpush.api
jpush-client
- 3.3.10
+ 3.4.6
```
### jar 包方式
@@ -45,7 +45,7 @@
cn.jpush.api
jiguang-common
- 1.1.4
+ 1.1.8
io.netty
diff --git a/example/main/java/cn/jpush/api/examples/PushExample.java b/example/main/java/cn/jpush/api/examples/PushExample.java
index a18dbb09..73b7fcad 100644
--- a/example/main/java/cn/jpush/api/examples/PushExample.java
+++ b/example/main/java/cn/jpush/api/examples/PushExample.java
@@ -10,6 +10,7 @@
import cn.jpush.api.JPushClient;
import cn.jpush.api.push.CIDResult;
import cn.jpush.api.push.GroupPushClient;
+import cn.jpush.api.push.GroupPushResult;
import cn.jpush.api.push.PushResult;
import cn.jpush.api.push.model.*;
import cn.jpush.api.push.model.audience.Audience;
@@ -227,7 +228,8 @@ public void testSendGroupPush() {
GroupPushClient groupPushClient = new GroupPushClient(GROUP_MASTER_SECRET, GROUP_PUSH_KEY);
final PushPayload payload = buildPushObject_android_and_ios();
try {
- Map result = groupPushClient.sendGroupPush(payload);
+ GroupPushResult groupPushResult = groupPushClient.sendGroupPush(payload);
+ Map result = groupPushResult.getAppResultMap();
for (Map.Entry entry : result.entrySet()) {
PushResult pushResult = entry.getValue();
PushResult.Error error = pushResult.error;
diff --git a/pom.xml b/pom.xml
index a1a8c99e..5ca7840e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
cn.jpush.api
jpush-client
- 3.4.6-SNAPSHOT
+ 3.4.7-SNAPSHOT
jar
https://github.com/jpush/jpush-api-java-client
JPush API Java Client
diff --git a/src/main/java/cn/jpush/api/push/GroupPushClient.java b/src/main/java/cn/jpush/api/push/GroupPushClient.java
index 39103db9..d1f0adc4 100644
--- a/src/main/java/cn/jpush/api/push/GroupPushClient.java
+++ b/src/main/java/cn/jpush/api/push/GroupPushClient.java
@@ -15,6 +15,9 @@
import cn.jpush.api.push.model.EncryptPushPayload;
import cn.jpush.api.push.model.PushPayload;
import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import java.util.Map;
@@ -29,6 +32,8 @@ public class GroupPushClient {
private String _groupPushPath;
private String _encryptType;
private Gson _gson = new Gson();
+ private JsonParser _jsonParser = new JsonParser();
+
public GroupPushClient(String groupMasterSecret, String groupKey) {
this(groupMasterSecret, groupKey, null, ClientConfig.getInstance());
@@ -43,11 +48,17 @@ public GroupPushClient(String groupMasterSecret, String groupKey, HttpProxy prox
this._httpClient = new NativeHttpClient(authCode, proxy, conf);
}
- public Map sendGroupPush(PushPayload pushPayload) throws APIConnectionException, APIRequestException {
+ public GroupPushResult sendGroupPush(PushPayload pushPayload) throws APIConnectionException, APIRequestException {
Preconditions.checkArgument(! (null == pushPayload), "pushPayload should not be null");
ResponseWrapper response = _httpClient.sendPost(_baseUrl + _groupPushPath, getEncryptData(pushPayload));
- return _gson.fromJson(response.responseContent,
- new TypeToken