一、pom.xml 中引入

<!--消息推送相关配置-->
<dependency>
    <groupId>cn.jpush.api</groupId>
    <artifactId>jpush-client</artifactId>
    <version>3.3.9</version>
</dependency>

二、建立工具类JPushUtil

public class JPushUtil {
 
    // 设置好账号的app_key和masterSecret是必须的
    private static String APP_KEY = "2b6e888888889ab7ced3";
    private static String MASTER_SECRET = "eb8f58888888888d084ad"; 
    //极光推送>>Android
    //Map<String, String> extras是我自己传过来的参数,可以自定义参数
    public static void jpushAndroid(Map<String, String> parm,Map<String, String> extras) { 
 
        //创建JPushClient(极光推送的实例)
        JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);
        //推送的关键,构造一个payload
        PushPayload payload = PushPayload.newBuilder()
                .setPlatform(Platform.android())//指定android平台的用户
                //.setAudience(Audience.all())//你项目中的所有用户
                //.setAudience(Audience.alias(parm.get("alias")))//设置别名发送,单发,点对点方式
                //.setAudience(Audience.tag("tag1"))//设置按标签发送,相当于群发
                .setAudience(Audience.registrationId(parm.get("id")))//registrationId指定用户
                .setNotification(Notification.android(parm.get("msg"), parm.get("title"), extras))  //发送内容
                .setOptions(Options.newBuilder().setApnsProduction(true).setTimeToLive(7200).build())
                // apnProduction指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式) 不用设置也没关系
                // TimeToLive 两个小时的缓存时间
                .setMessage(Message.content(parm.get("msg")))//自定义信息
                .build();
        try {    
            PushResult pu = jpushClient.sendPush(payload);
            System.out.println(pu.toString());
        } catch (APIConnectionException e) {
            e.printStackTrace();
        } catch (APIRequestException e) {
            e.printStackTrace();
        }
    }
 
}

三、调用工具类方法进行消息推送

public void JPushUtil(){
        //设置推送信息
        Map<String, String> parm = new HashMap<String, String>();
        parm.put("msg","收到请回复");
        parm.put("title","推送测试");
        parm.put("id","120c81111111119ec0f"); 
        //自定义参数
        Map<String, String> extras = new HashMap<String, String>(); 
        //1.工单  2.任务
        extras.put("type","2");
        //工单:1检测;2检修;3看护;4.维护  任务:1常规;2故障;3夜间;4.保电;5:检测;6:检修
        extras.put("category","5");
        extras.put("id","20"); 
        JPushUtil.jpushAndroid(parm,extras); 
	}   

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐