1 package com.user.service;
2
3 import cn.jiguang.common.ClientConfig;
4 import cn.jpush.api.JPushClient;
5 import cn.jpush.api.push.PushResult;
6 import cn.jpush.api.push.model.Message;
7 import cn.jpush.api.push.model.Options;
8 import cn.jpush.api.push.model.Platform;
9 import cn.jpush.api.push.model.PushPayload;
10 import cn.jpush.api.push.model.audience.Audience;
11 import cn.jpush.api.push.model.notification.AndroidNotification;
12 import cn.jpush.api.push.model.notification.IosNotification;
13 import cn.jpush.api.push.model.notification.Notification;
14 import com.jtws.common.base.BaseTest;
15 import com.jtws.common.utils.DevLog;
16 import org.junit.Test;
17
18 /**
19 * Created by kongweichun on 2019/2/11.
20 * chongqing liangyao
21 */
22 public class JpushTest extends BaseTest{
23 /**
24 * appKey
25 */
26 private static final String appKey = "*******";
27 /**
28 * 主密
29 */
30 private static final String masterSecret = "**********";
31
32
33 @Test
34 public void jpush(){
35 try {
36 JPushClient jPushClient = new JPushClient(masterSecret,appKey,null, ClientConfig.getInstance());
37 //构建推送对象
38 PushPayload payload = jpushIos();
39 PushResult result = jPushClient.sendPush(payload);
40 if (200 == result.getResponseCode()){
41 System.out.println("推送成功");
42 }
43 }catch (Exception e){
44 DevLog.error(this,"[jpush] exception="+e.getMessage(),e);
45 }
46
47 }
48
49
50 /**
51 * 推送到指定用户 >> all全平台
52 * @return
53 */
54 public static PushPayload jpushAll(){
55 PushPayload payload = PushPayload.newBuilder()
56 .setPlatform(Platform.all())//所有用户平台
57 .setAudience(Audience.registrationId("******"))//发送给指定的用户
58 .setNotification(Notification.newBuilder()
59 .addPlatformNotification(IosNotification.newBuilder()
60 .setAlert("ALL_ALERT") //通知内容
61 .incrBadge(+1) //角标数字
62 .setSound("happy") //通知声音
63 .addExtra("from", "JPUSH")
64 .build())
65 .addPlatformNotification(AndroidNotification.newBuilder()
66 .addExtra("from", "JPUSH")
67 .setAlert("ALL_ALERT")//通知内容
68 .build())
69 .build())
70 .setOptions(Options.newBuilder()
71 .setApnsProduction(false)//false为开发环境 true为生产环境
72 .build())
73 .setMessage(Message.newBuilder()
74 .setMsgContent("消息推送测试") //自定义信息
75 .addExtra("from", "JPUSH")
76 .build())
77 .build();
78
79 return payload;
80 }
81
82
83 /**
84 * 推送所有的安卓用户 >> android平台
85 * @return
86 */
87 public static PushPayload jpushAndroid() {
88 return PushPayload.newBuilder()
89 .setPlatform(Platform.android())//安卓平台
90 .setAudience(Audience.all()) //所有用户
91 .setNotification(Notification.android("自定义信息", "title", null))
92 .setOptions(Options.newBuilder()
93 .setApnsProduction(false)//false为开发环境 true为生产环境
94 .build())
95 .build();
96 }
97
98
99 /**
100 * 推送所有的苹果用户 >> IOS平台
101 * @return
102 */
103 public static PushPayload jpushIos(){
104 return PushPayload.newBuilder()
105 .setPlatform(Platform.ios())
106 .setAudience(Audience.all())
107 .setNotification(Notification.newBuilder()
108 .addPlatformNotification(IosNotification.newBuilder()
109 .setAlert("苹果用户推送") //通知内容
110 .incrBadge(+1) //角标数字
111 .setSound("happy") //通知声音
112 .addExtra("from", "JPUSH")
113 .build())
114 .build())
115 .setOptions(Options.newBuilder()
116 .setApnsProduction(false)//false为开发环境 true为生产环境
117 .build())
118 .setMessage(Message.newBuilder()
119 .setMsgContent("消息推送测试") //自定义信息
120 .addExtra("from", "JPUSH")
121 .build())
122 .build();
123 }
124
125 }