极光推送3

2019-04-26  本文已影响0人  蛋皮皮652

package com.jpxx.homepage.homePage.service.utils;

import cn.jpush.api.JPushClient;

import cn.jpush.api.push.PushResult;

import cn.jpush.api.push.model.Options;

import cn.jpush.api.push.model.Platform;

import cn.jpush.api.push.model.PushPayload;

import cn.jpush.api.push.model.audience.Audience;

import cn.jpush.api.push.model.notification.Notification;

import cn.jpush.api.push.model.Message;

import cn.jpush.api.push.model.PushPayload.Builder;

public class SendMessageUtils {

private static StringAppKey="8a7880c6fb81ad494b224078";

    /**

    * JPush MasterSecret 极光推送平台生成的密钥

    */

    private static StringMasterSecret="c0fc675c4c48f9bf35269cf4";

    //两个参数分别填写你申请的masterSecret和appKey

    private static JPushClientjPushClient=new JPushClient(MasterSecret,AppKey);

    /**

    * 通知推送

    * 备注:推送方式不为空时,推送的值也不能为空;推送方式为空时,推送值不做要求

    * @param type 推送方式:1、“tag”标签推送,2、“alias”别名推送

    * @param value 推送的标签或别名值

    * @param alert 推送的内容

    */

    public static StringpushNotice(String type,String value,String alert){

Builder builder= PushPayload.newBuilder();

        builder.setPlatform(Platform.all());//设置接受的平台,all为所有平台,包括安卓、ios、和微软的

        //设置如果用户不在线、离线消息保存的时间

        Options options=Options.sendno();

        options.setTimeToLive(86400l);    //设置为86400为保存一天,如果不设置默认也是保存一天

        builder.setOptions(options);

        //设置推送方式

        if(type.equals("alias")){

builder.setAudience(Audience.alias(value));//根据别名推送

        }else if(type.equals("tag")){

builder.setAudience(Audience.tag(value));//根据标签推送

        }else{

builder.setAudience(Audience.all());//Audience设置为all,说明采用广播方式推送,所有用户都可以接收到

        }

//设置为采用通知的方式发送消息

        builder.setNotification(Notification.alert(alert));

        PushPayload pushPayload=builder.build();

        System.out.println("ggggggg"+pushPayload);

        try{

//进行推送,实际推送就在这一步

            System.out.println("zzzzzzzzz "+jPushClient.sendPush(pushPayload));

            PushResult pushResult=jPushClient.sendPush(pushPayload);

            return "success";

        }catch(Exception e){

System.out.println("异常 "+e);

            e.printStackTrace();

            return "fail";

        }

}

/**

    * 自定义消息推送

    * 备注:推送方式不为空时,推送的值也不能为空;推送方式为空时,推送值不做要求

    * @param type 推送方式:1、“tag”标签推送,2、“alias”别名推送

    * @param value 推送的标签或别名值

    * @param alert 推送的内容

    */

    public static void pushMsg(String type, String value,String alert){

Builder builder= PushPayload.newBuilder();

        builder.setPlatform(Platform.all());//设置接受的平台

        if(type.equals("alias")){

builder.setAudience(Audience.alias(value));//别名推送

        }else if(type.equals("tag")){

builder.setAudience(Audience.tag(value));//标签推送

        }else{

builder.setAudience(Audience.all());//Audience设置为all,说明采用广播方式推送,所有用户都可以接收到

        }

Message.Builder newBuilder=Message.newBuilder();

        newBuilder.setMsgContent(alert);//消息内容

        Message message=newBuilder.build();

        builder.setMessage(message);

        PushPayload pushPayload=builder.build();

        try{

PushResult pushResult=jPushClient.sendPush(pushPayload);

            System.out.println(pushResult.isResultOK());

        }catch(Exception e){

e.printStackTrace();

        }

}

public static void main(String[] args) {

//给标签为kefu的用户进行消息推送

        SendMessageUtils.pushNotice("alias","402881e53c7f0dde013c7f29ed8e0016","你有新的任务,请及时处理");

        //sendNotificationWirhAlias_Ios("zzzzzzzzzzzz","uuid");

    }

}

上一篇 下一篇

猜你喜欢

热点阅读