极光推送
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 }