Jdpush

来源:互联网 发布:java sql注入漏洞修复 编辑:程序博客网 时间:2024/05/10 22:19
package com.tianyapeng;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


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.AndroidNotification;
import cn.jpush.api.push.model.notification.IosNotification;
import cn.jpush.api.push.model.notification.Notification;


public class Jdpush {
protected static final Logger LOG = LoggerFactory.getLogger(Jdpush.class);
public static final String appKey = "你的appKey ";
public static final String masterSecret = "你的masterSecret ";
public static final String TITLE = "审批";
public static final String ALERT = "您有新的审批需要处理";
// public static final String MSG_CONTENT = "";
// public static final String REGISTRATION_ID = "0900e8d85ef";
// public static final String TAG = "tag_api";
public static final String userid = " ";


public static JPushClient jpushClient = null;


public static void testSendPush(String appKey, String masterSecret,String userid) {
// 对android和ios设备发送
jpushClient = new JPushClient(masterSecret, appKey, 3);
// 生成推送的内容,这里我们先测试全部推送
// PushPayload payload=buildPushObject_all_alias_alert();


PushPayload payload = buildPushObject_android_and_iosByAlias(userid,TITLE, ALERT);
try {
System.out.println(payload.toString());
PushResult result = jpushClient.sendPush(payload);
LOG.info("Got result - " + result);


} catch (APIConnectionException e) {
LOG.error("Connection error. Should retry later. ", e);


} catch (APIRequestException e) {
LOG.error("Error response from JPush server. Should review and fix it. ",e);
LOG.info("HTTP Status: " + e.getStatus());
LOG.info("Error Code: " + e.getErrorCode());
LOG.info("Error Message: " + e.getErrorMessage());
LOG.info("Msg ID: " + e.getMsgId());
}
}


public static PushPayload buildPushObject_android_and_iosByAlias(
String alias, String title, String content) {
return PushPayload
.newBuilder()
.setPlatform(Platform.android_ios())
.setAudience(Audience.alias(alias))
.setNotification(
Notification
.newBuilder()
.setAlert(content)
.addPlatformNotification(
AndroidNotification.newBuilder()
.setTitle(title).build())
.addPlatformNotification(
IosNotification.newBuilder()
.incrBadge(1)
.addExtra(title, content)
.build()).build()).build();


}
}
原创粉丝点击