Skip to content

Commit e2a4e55

Browse files
author
Javen
committed
Adding support for message api
1 parent aa8ad28 commit e2a4e55

File tree

4 files changed

+86
-1
lines changed

4 files changed

+86
-1
lines changed

src/cn/jpush/api/JPushClient.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import cn.jpush.api.push.PushClient;
55
import cn.jpush.api.push.PushResult;
66
import cn.jpush.api.push.model.PushPayload;
7+
import cn.jpush.api.report.MessagesResult;
78
import cn.jpush.api.report.ReceivedsResult;
89
import cn.jpush.api.report.ReportClient;
910
import cn.jpush.api.report.UsersResult;
@@ -69,6 +70,10 @@ public UsersResult getReportUsersCount(TimeUnit timeUnit, String start, int step
6970
return _reportClient.getUsersCount(timeUnit, start, step);
7071
}
7172

73+
public MessagesResult getReportMessagesCount(String msgIds) {
74+
return _reportClient.getMessagesCount(msgIds);
75+
}
76+
7277

7378
}
7479

src/cn/jpush/api/examples/ReportsExample.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import cn.jpush.api.JPushClient;
77
import cn.jpush.api.common.TimeUnit;
8+
import cn.jpush.api.report.MessagesResult;
89
import cn.jpush.api.report.ReceivedsResult;
910
import cn.jpush.api.report.UsersResult;
1011

@@ -17,7 +18,8 @@ public class ReportsExample {
1718

1819
public static void main(String[] args) {
1920
// testGetReport();
20-
testGetUsers();
21+
testGetMessages();
22+
// testGetUsers();
2123
}
2224

2325

@@ -60,5 +62,25 @@ public static void testGetUsers() {
6062
}
6163
}
6264

65+
public static void testGetMessages() {
66+
JPushClient jpushClient = new JPushClient(masterSecret, appKey);
67+
MessagesResult result = jpushClient.getReportMessagesCount("1933834921");
68+
69+
if (result.isResultOK()) {
70+
LOG.info("Users Count - " + result);
71+
} else {
72+
if (result.getErrorCode() > 0) {
73+
// 业务异常
74+
LOG.warn("Service error - ErrorCode: "
75+
+ result.getErrorCode() + ", ErrorMessage: "
76+
+ result.getErrorMessage());
77+
} else {
78+
// 未到达 JPush
79+
LOG.error("Other excepitons - "
80+
+ result.getExceptionString());
81+
}
82+
}
83+
}
84+
6385
}
6486

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package cn.jpush.api.report;
2+
3+
import java.lang.reflect.Type;
4+
import java.util.ArrayList;
5+
import java.util.List;
6+
7+
import cn.jpush.api.common.BaseResult;
8+
import cn.jpush.api.common.ResponseWrapper;
9+
10+
import com.google.gson.annotations.Expose;
11+
import com.google.gson.reflect.TypeToken;
12+
13+
public class MessagesResult extends BaseResult {
14+
private static final Type MESSAGE_TYPE = new TypeToken<List<Message>>(){}.getType();
15+
16+
@Expose public List<Message> messages = new ArrayList<Message>();
17+
18+
public static class Message {
19+
@Expose public long msg_id;
20+
@Expose public Android android;
21+
@Expose public Ios ios;
22+
}
23+
24+
public static class Android {
25+
@Expose public int received;
26+
@Expose public int target;
27+
@Expose public int online_push;
28+
@Expose public int click;
29+
}
30+
31+
public static class Ios {
32+
@Expose public int apns_sent;
33+
@Expose public int apns_target;
34+
@Expose public int click;
35+
}
36+
37+
public static MessagesResult fromResponse(ResponseWrapper responseWrapper) {
38+
MessagesResult receivedsResult = new MessagesResult();
39+
if (responseWrapper.isServerResponse()) {
40+
receivedsResult.messages = _gson.fromJson(responseWrapper.responseContent, MESSAGE_TYPE);
41+
}
42+
43+
receivedsResult.setResponseWrapper(responseWrapper);
44+
return receivedsResult;
45+
}
46+
47+
}

src/cn/jpush/api/report/ReportClient.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ public class ReportClient {
1212
private static final String REPORT_HOST_NAME = "http://183.232.25.237:9900"; //"https://report.jpush.cn";
1313
private static final String REPORT_RECEIVE_PATH = "/v2/received";
1414
private static final String REPORT_USER_PATH = "/v3/user";
15+
private static final String REPORT_MESSAGE_PATH = "/v3/message";
1516

1617
private NativeHttpClient _httpClient = new NativeHttpClient();;
1718

@@ -39,6 +40,16 @@ public ReceivedsResult getReceiveds(String msgIds) {
3940
return ReceivedsResult.fromResponse(response);
4041
}
4142

43+
public MessagesResult getMessagesCount(String msgIds) {
44+
checkMsgids(msgIds);
45+
String authCode = ServiceHelper.getAuthorizationBase64(_appKey, _masterSecret);
46+
47+
String url = REPORT_HOST_NAME + REPORT_MESSAGE_PATH + "?msg_ids=" + msgIds;
48+
ResponseWrapper response = _httpClient.sendGet(url, null, authCode);
49+
50+
return MessagesResult.fromResponse(response);
51+
}
52+
4253
public UsersResult getUsersCount(TimeUnit timeUnit, String start, int step) {
4354
String authCode = ServiceHelper.getAuthorizationBase64(_appKey, _masterSecret);
4455

0 commit comments

Comments
 (0)