Java 使用第三方推送 -- 極光推送
阿新 • • 發佈:2019-12-24
官網連結 : https://www.jiguang.cn/
註冊完成登入後,點選建立應用 這裡不細說
Java後端的整合如下:
新增maven依賴的包
<dependency> <groupId>cn.jpush.api</groupId> <artifactId>jpush-client</artifactId> <version>3.4.2</version> </dependency> <dependency> <groupId>cn.jpush.api</groupId> <artifactId>jiguang-common</artifactId> <version>1.1.3</version> </dependency>
建立一個工具類 JiGuangPushUtil.java
/**
* @ClassName 極光推送工具類
* @Author Mr.Tang
* @Date 2019/11/14 14:01
* @Version 1.0
**/
public class JiGuangPushUtil {
/**
* 兩個引數分別填寫你申請的masterSecret和appKey##
*/
private static String masterSecret = "你的masterSecret";
private static String appKey = "你的appKey";
private static JPushClient jPushClient=new JPushClient(masterSecret,appKey);
/**
* 全平臺推送
* @param parm map裡面可以根據自身情況增加一些引數 比如頁面跳轉的地址等
* @param list 使用者id集合 這裡我們是以使用者id作為別名的方式註冊到極光 所以我們只需要把使用者id給極光 他就會直接給對應使用者推送
*/
public static void jpushAll(Map<String, String> parm,List<String> list) {
PushPayload payload = PushPayload.newBuilder()
//所有平臺的使用者
.setPlatform(Platform.all())
//指定使用者
.setAudience(Audience.alias(list))
.setNotification(Notification.newBuilder()
//ios推送
.addPlatformNotification(IosNotification.newBuilder()
.setAlert(IosAlert.newBuilder().setTitleAndBody(parm.get("title"),null,parm.get("body")).build())
.setBadge(+1)
.setSound("qxgf")
.addExtras(parm)
.build())
//Android推送 也可以分開寫
.addPlatformNotification(AndroidNotification.newBuilder()
.setTitle(parm.get("title"))
.addExtras(parm)
.setAlert(parm.get("body"))
.build())
.build())
//指定開發環境
.setOptions(Options.newBuilder().setApnsProduction(false).build())
//自定義資訊
.setMessage(Message.newBuilder().setMsgContent(parm.get("title")).addExtras(parm).build())
.build();
try {
PushResult pushResult = jPushClient.sendPush(payload);
System.out.println(pushResult);
if(pushResult.getResponseCode()==200){
System.out.println(pushResult.getResponseCode());
}
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}
}
/**
* 引數設定
* @param title
* @param body
* @param list 使用者集合
*/
public static void jpushPush(String title,String body,List<String> list){
Map<String, String> parm = new HashMap<> ();
//標題
parm.put("title",title);
//內容
parm.put("body",body);
JiGuangPushUtil.jpushAll(parm,list);
}
}
哪裡需要 哪裡呼叫
JiGuangPushUtil.jpushPush(MedicalConstant.System_Schedule,body,list);
以上就是 Java後臺整合的程式碼了
QQ群 :216868