极光推送服务器端java代码_java后台服务器实现极光推送

packagecom.cccuu.project.utils;importcn.jpush.api.JPushClient;importcn.jpush.api.push.PushResult;importcn.jpush.api.push.model.Message;importcn.jpush.api.push.model.Options;importcn.jpush.api.push.model.Platform;importcn.jpush.api.push.model.PushPayload;importcn.jpush.api.push.model.PushPayload.Builder;importcn.jpush.api.push.model.audience.Audience;importcn.jpush.api.push.model.notification.Notification;/*** 极光推送工具类*/

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

private static JPushClient jPushClient=new JPushClient("masterSecret","appKey");/*** 通知推送

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

*@paramtype 推送方式:一、“tag”标签推送,二、“alias”别名推送

*@paramvalue 推送的标签或别名值

*@paramalert 推送的内容*/

private static voidpushNotice(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();try{//进行推送,实际推送就在这一步

PushResult pushResult=jPushClient.sendPush(pushPayload);

}catch(Exception e){

e.printStackTrace();

}

}/*** 自定义消息推送

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

*@paramtype 推送方式:一、“tag”标签推送,二、“alias”别名推送

*@paramvalue 推送的标签或别名值

*@paramalert 推送的内容*/

private static voidpushMsg(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);

}catch(Exception e){

e.printStackTrace();

}

}public static voidmain(String[] args){//给标签为kefu的用户进行消息推送

JiGuangPushUtil.pushNotice("tag","kefu","你有新的任务,请及时处理");

}

}

你可能感兴趣的:(极光推送服务器端java代码)