import cn.jpush.api.JPushClient;
import cn.jpush.api.common.resp.APIConnectionException;
import cn.jpush.api.common.resp.APIRequestException;
import cn.jpush.api.push.PushResult;
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.report.MessagesResult;
import com.alibaba.druid.support.logging.Log;
import com.video.bean.JsonResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.*;
/**
* Created by L on 2016/8/15.
* 第三方极光推送
*/
public class JPushUtils{
protected static final Logger LOG = LoggerFactory.getLogger(JPushUtils.class);
private static final String appKey = "xxxxxxxxxx";
private static final String masterSecret = "xxxxxxxxx";
/**
* 获取极光服务端实列
* @return
*/
public static final JPushClient getJPushClient(){
return new JPushClient(masterSecret,appKey);
}
/**
* 构建推送对象,广播通知所有alias .
* @param alias ios和android 设置的极光推送 别名
* @param content 内容
* @return 推送操作实列
*/
public static PushPayload buildPushObject_all_alias_alert(String alias,String content) {
return PushPayload.newBuilder()
.setPlatform(Platform.all())
.setAudience(Audience.alias(alias))
.setNotification(Notification.alert(content))
.build();
}
/**
* 推送信息
* @param alias ios和android 设置的极光推送 别名(最好唯一)
* @param content 内容
* @return 推送结果
*/
public static final JsonResult push(String alias,String content){
JsonResult result = new JsonResult();
PushResult pushResult = null;
try {
pushResult = JPushUtils.getJPushClient().sendPush(JPushUtils.buildPushObject_all_alias_alert(alias,content));
result.setSuccess(pushResult.isResultOK());
result.setData(pushResult);
if (pushResult.isResultOK()){
result.setMsg("推送成功.");
}else{
result.setMsg("推送失败.");
}
} catch (APIConnectionException e) {
LOG.info(e.getMessage());
} catch (APIRequestException e) {
LOG.info(e.getMessage());
}
return result;
}
}
/**
* JSON结果封装
* @return
*/
public class JsonResult {
public boolean success;
public String msg="";
public Object data;
public JsonResult() {
this.msg="";
this.data=new Object();
}
public JsonResult(Object data) {
this.data=data;
}
public JsonResult(boolean success,Object data) {
this.msg="";
this.success=success;
this.data=data;
}
public JsonResult(boolean success,String msg) {
this.msg=msg;
this.success=success;
this.data=new Object();
}
public JsonResult(boolean success,Object data,String msg) {
this.success=success;
this.data=data;
this.msg=msg;
}
public boolean getSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public static void main(String[] args) {
}
}