1. 程式人生 > >Java 使用第三方推送 -- 極光推送

Java 使用第三方推送 -- 極光推送

官網連結 : 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