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群 :216868740

原文地址:https://www.cnblogs.com/tangyin/p/12090126.html