Skip to content

Commit 89b03c8

Browse files
author
zengzhiwu
committed
update
1 parent 909893d commit 89b03c8

4 files changed

Lines changed: 52 additions & 32 deletions

File tree

src/cn/jpush/api/IOSExtra.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import java.util.Map;
55

66
/*
7-
* IOS 发送通知 扩展字段
8-
* 只针对 通知消息
7+
* IOS 发送通知 附加扩展类
8+
* 只针对 通知消息
99
*
1010
*/
1111
public class IOSExtra {
@@ -26,7 +26,8 @@ public IOSExtra(int badge){
2626
*/
2727
private int badge = 1;
2828
/*
29-
* 当前软件里面的所拥有的铃声名称. 不设置,手机默认铃声(haapy)
29+
* 当前软件里面的所拥有的铃声名称(如:message.wav)。
30+
* 不设置,手机默认通知铃声
3031
*/
3132
private String sound = "happy";
3233

src/cn/jpush/api/utils/HttpPostClient.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,8 @@ protected void initSSL() {
126126
}
127127
}
128128

129-
protected String parse(MessageParams message) {
130-
String md5SecretKey = StringUtils.toMD5(message.getMasterSecret());
131-
String input = String.valueOf(message.getSendNo()) + message.getReceiverType().value() + message.getReceiverValue() + md5SecretKey;
132-
129+
protected String parse(MessageParams message) {
130+
String input = String.valueOf(message.getSendNo()) + message.getReceiverType().value() + message.getReceiverValue() + message.getMasterSecret();
133131
int msgType = 0;
134132
if (message instanceof NotifyMessageParams) {
135133
msgType = MsgTypeEnum.NOTIFY.value();
@@ -154,9 +152,7 @@ protected String parse(MessageParams message) {
154152
}
155153

156154
public String simpleParse(MessageParams message){
157-
String md5SecretKey = StringUtils.toMD5(message.getMasterSecret());
158-
String input = String.valueOf(message.getSendNo()) + message.getReceiverType().value() + message.getReceiverValue() + md5SecretKey;
159-
155+
String input = String.valueOf(message.getSendNo()) + message.getReceiverType().value() + message.getReceiverValue() + message.getMasterSecret();
160156
Map<String, String> nvPair = new HashMap<String, String>();
161157
nvPair.put("sendno", String.valueOf(message.getSendNo()));
162158
nvPair.put("app_key", message.getAppKey());

src/cn/jpush/example/JpushClientExample.java

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
package cn.jpush.example;
2+
import java.util.HashMap;
3+
import java.util.Map;
4+
25
import cn.jpush.api.ErrorCodeEnum;
36
import cn.jpush.api.IOSExtra;
47
import cn.jpush.api.JPushClient;
58
import cn.jpush.api.MessageResult;
69

710
public class JpushClientExample {
811

9-
private static final String appKey = "47b9ef19d4be5de08df12aa0";//必填,例如466f7032ac604e02fb7bda89
10-
11-
private static final String masterSecret ="8cc138f8dc04cbf16240daa92d8d50e2" ; //必填,每个应用都对应一个masterSecret(1f0e3dad99908345f7439f8ffabdffc4)
12-
13-
12+
private static final String appKey = "57b9ef19d4be5de08df12aa0";//必填,例如466f7032ac604e02fb7bda89
13+
private static final String masterSecret ="9cc138f8dc04cbf16240daa92d8d50e2" ; //必填,每个应用都对应一个masterSecret(1f0e3dad99908345f7439f8ffabdffc4)
1414
private static JPushClient jpush = null;
15+
1516
/*
1617
* 保存离线的时长。秒为单位。最多支持10天(864000秒)。
1718
* 0 表示该消息不保存离线。即:用户在线马上发出,当前不在线用户将不会收到此消息。
@@ -43,31 +44,37 @@ public static void main(String[] args) {
4344
* Example:
4445
* jpush.setEnableSSL(true);
4546
*/
46-
47-
47+
48+
4849
//测试发送消息或者通知
49-
testSend();
50+
testSend();
5051
}
5152

5253
private static void testSend() {
5354

5455
int sendNo = 103;
55-
String msgTitle = "标题+++";
56-
String msgContent = "+/通#知?内&容%<可>;=====";
56+
String msgTitle = "IOS标题";
57+
String msgContent = "+/通#知?内&容%<可>;=";
5758

58-
/* String alias = "alias";
59-
String tag = "tag";
60-
HashMap hashMap = new HashMap();
61-
//IOS扩展参数,
62-
IOSExtra iosExtra = new IOSExtra(2);
59+
/*
60+
String alias = "alias";
61+
6362
*/
63+
String tag = "tag";
64+
//IOS 扩展参数,Badge,sound
65+
IOSExtra iosExtra = new IOSExtra(2,"message.wav");
66+
//自定义消息 android/ios
67+
Map<String, Object> map = new HashMap<String, Object>();
68+
map.put("hey", "test");
69+
map.put("you", "test");
70+
71+
MessageResult msgResult = //jpush.sendNotificationWithAppKey(sendNo,msgTitle,msgContent,0,map,iosExtra);
6472

65-
MessageResult msgResult =jpush.sendNotificationWithAppKey(sendNo,msgTitle,msgContent,0,null,new IOSExtra(20,"happy"));
66-
67-
// jpush.sendNotificationWithAlias(sendNo, alias, msgTitle, msgContent,1,null,new IOSExtra(3));
68-
// jpush.sendNotificationWithTag(sendNo, tag, msgTitle, msgContent);
73+
// jpush.sendNotificationWithAlias(sendNo, alias, msgTitle, msgContent,1,null,new IOSExtra(3));
74+
jpush.sendNotificationWithTag(sendNo, tag, msgTitle, msgContent);
6975
// jpush.sendNotificationWithAlias(sendNo, tag, msgTitle, msgContent);
7076

77+
7178
if (null != msgResult) {
7279
System.out.println("服务器返回数据: " + msgResult.toString());
7380
if (msgResult.getErrcode() == ErrorCodeEnum.NOERROR.value()) {

test/cn/jpush/api/ErrorTests.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,23 +81,24 @@ public void testSendNotificationWithAppKeyValidateFailed (){
8181

8282

8383
/*
84-
* 1007 IMEI不存在 验证失败
84+
* 1007 IMEI不合法 验证失败
8585
*/
8686
@Test
8787
public void testSendNotificationWithAppKeyInvalidIMEI(){
8888

8989
int erroCode = ErrorCodeEnum.InvalidIMEI.value();
9090
String msgTitle = "jpush";
9191
String msgContent = "jpush";
92-
String imei = "3749242-2323-2";//不存在的IMEI
92+
String imei = "37492423";//不存在的IMEI
9393

9494
MessageResult result = jpush.sendNotificationWithImei(sendNo, imei, msgTitle, msgContent);
95+
System.err.println(result);
9596
assertEquals(erroCode, result.getErrcode());
9697

9798
}
9899

99100
/*
100-
* 1011 tag不存在 验证失败
101+
* 1011 tag,algin、imei不存在 验证失败
101102
*/
102103
@Test
103104
public void testSendNotificationWithAppKeyInvalidPush(){
@@ -131,6 +132,21 @@ public void testSendNotificationWithAppKeyInvalidAppKey(){
131132
}
132133

133134

135+
136+
137+
/*
138+
* 特殊字符测试
139+
*/
140+
@Test
141+
public void testSendNotificationWithAppKeyWithSpecialCharacter(){
142+
143+
int erroCode = ErrorCodeEnum.NOERROR.value();
144+
String msgTitle = "jpush";
145+
String msgContent = "+j|u@n!i~t-j#p$u%s^h&-i*n(v)a_l=i?d>P<a,r.a;m;a[b]{c}";
146+
147+
MessageResult result = jpush.sendNotificationWithAppKey(sendNo, msgTitle, msgContent);
148+
assertEquals(erroCode, result.getErrcode());
149+
}
134150

135151
}
136152

0 commit comments

Comments
 (0)