
為了以后方便,特把極光推送方法記錄下來。
- 1、maven依賴
<dependency>
<groupId>cn.jpush.api</groupId>
<artifactId>jpush-client</artifactId>
<version>3.2.17</version>
</dependency>
- 2、注冊極光,獲取密鑰
private static final String JI_GUANG_URL = "https://www.jiguang.cn/](https://www.jiguang.cn/";
private static final String JI_GUANG_API = "https://docs.jiguang.cn/jpush/server/sdk/java_sdk/";
protected static final Logger LOG = LoggerFactory.getLogger(JpushUtils.class);
private static final String appKey ="你的appKey";
private static final String masterSecret = "你的masterSecret";
private static final ClientConfig clientConfig = ClientConfig.getInstance();
private static final JPushClient jpushClient = new JPushClient(masterSecret, appKey, null, clientConfig);
-
3.推送全部用戶
??推送平臺是全部,角標(biāo)數(shù)字為 5,通知聲音為默認(rèn) "default",并且附加字段 from = "JPush"、content和message。消息內(nèi)容是 message;ApnsProduction為true代表是生成環(huán)境,false是測試環(huán)境。
/**
* 推送全部用戶
* @param notification
* @param message
*/
public static boolean pushAll(String notification, String message) {
boolean b = false;
PushPayload payload = PushPayload.newBuilder().setPlatform(Platform.all()).setAudience(Audience.all())
.setNotification(Notification.newBuilder()
.addPlatformNotification(IosNotification.newBuilder().setAlert(notification).setSound("default")
.setBadge(5)
.setContentAvailable(true).addExtra("from", "JPush").addExtra("content", message)
.build())
.addPlatformNotification(AndroidNotification.newBuilder().setAlert(notification).build())
.build())
.setMessage(Message.content(message)).setOptions(Options.newBuilder().setApnsProduction(false).build())
.build();
try {
PushResult result = jpushClient.sendPush(payload);
b = true;
} catch (APIConnectionException e) {
} catch (APIRequestException e) {
}
return b;
}
- 4、根據(jù)別名進(jìn)行推送
/**
* 根據(jù)別名進(jìn)行推送
* @param notification
* @param message .setContentAvailable(true)
*/
public static boolean pushSelected(String alias[], String notification, String message) {
boolean b = false;
PushPayload payload = PushPayload.newBuilder().setPlatform(Platform.all()).setAudience(Audience.alias(alias))
.setNotification(Notification.newBuilder()
.addPlatformNotification(IosNotification.newBuilder().setAlert(notification).setSound("default")
.setBadge(5)
.addExtra("1", "http://tms.tikinmedia.com/upload/deviceVersion")
.build())
.addPlatformNotification(AndroidNotification.newBuilder().setAlert(notification).build())
.build())
//.setMessage(Message.content(message))
.setOptions(Options.newBuilder().setApnsProduction(true).build()).build();
try {
PushResult result = jpushClient.sendPush(payload);
System.out.println(result);
b = true;
} catch (APIConnectionException e) {
} catch (APIRequestException e) {
}
return b;
}
- 5、添加自定義附加字段
/**
* 安卓與ios平臺,通過別名推送
* @param alias 別名
* @param content 推送內(nèi)容
* @param key 拓展字段key值
* @param value 拓展字段value
* @return
*/
public static boolean buildPushObject_all_alias_alert(String[] alias, String content,String key,String value) {
boolean b = false;
PushPayload payload = PushPayload.newBuilder()
.setPlatform(Platform.android_ios())
.setAudience(Audience.alias(alias))
.setNotification(Notification.newBuilder()
.setAlert(content)
.addPlatformNotification(AndroidNotification.newBuilder().addExtra(key,value)
.build())
.addPlatformNotification(IosNotification.newBuilder()
.setBadge(5)
.setSound("default").addExtra(key,value)
.build())
.build())
.build();
try {
PushResult pushResult = jpushClient.sendPush(payload);
//解析數(shù)據(jù),0表示成功
//{"msg_id":3828060948763255,"sendno":180326298,"statusCode":0}
System.out.println(pushResult);
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}
return b;
}
- 6、結(jié)語
邁開腳步,再長的路也不在話下;停滯不前,再短的路也難以到達(dá)。