初次学习jpush,自己也看了官方文档,也经过前辈们的指导,自己于是将这段代码分享给大家。
我使用的是maven集成sdk
public class JiGuangPush {
private static final Logger log = LoggerFactory.getLogger(JiGuangPush.class);
private static String masterSecret = "73d9d2e86e1a709bedbf6ea4";
private static String appKey = "c251baf64bdea6f51e4f1a05";
private static final String ALERT = "abcd";
/**
* 极光推送
*/
public void jiguangPush(){
String alias = "com.YunZhong.milefinance";//声明别名
log.info("对别名" + alias + "的用户推送信息");
PushResult result = push(String.valueOf(alias),ALERT);
if(result != null && result.isResultOK()){
System.out.println("推送成功");
log.info("针对别名" + alias + "的信息推送成功!");
}else{
System.out.println("推送失败");
log.info("针对别名" + alias + "的信息推送失败!");
}
}
/**
* 生成极光推送对象PushPayload(采用java SDK)
* @param alias
* @param alert
* @return PushPayload
*/
public static PushPayload buildPushObject_android_ios_alias_alert(String alias,String alert){
return PushPayload.newBuilder()
.setPlatform(Platform.android_ios())
.setAudience(Audience.alias(alias))
.setNotification(Notification.newBuilder()
.addPlatformNotification(AndroidNotification.newBuilder()
.addExtra("type", "infomation")
.setAlert(alert)
.build())
.addPlatformNotification(IosNotification.newBuilder()
.addExtra("type", "infomation")
.setAlert(alert)
.build())
.build())
.setOptions(Options.newBuilder()
.setApnsProduction(false)//true-推送生产环境 false-推送开发环境(测试使用参数)
.setTimeToLive(90)//消息在JPush服务器的失效时间(测试使用参数)
.build())
.build();
}
/**
* 极光推送方法(采用java SDK)
* @param alias
* @param alert
* @return PushResult
*/
public static PushResult push(String alias,String alert){
ClientConfig clientConfig = ClientConfig.getInstance();
JPushClient jpushClient = new JPushClient(masterSecret, appKey, null, clientConfig);
PushPayload payload = buildPushObject_android_ios_alias_alert(alias,alert);
try {
return jpushClient.sendPush(payload);
} catch (APIConnectionException e) {
e.printStackTrace();
return null;
} 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());
return null;
}
}
}