zoukankan      html  css  js  c++  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群 :216868740

  • 相关阅读:
    深入浅出了解OCR识别票据原理(Applying OCR Technology for Receipt Recognition)
    OCR技术浅探:基于深度学习和语言模型的印刷文字OCR系统
    Python 3.6.4 / win10 使用pip安装keras时遇到依赖的PyYAML安装出错
    简单http代理服务器搭建
    Socket之心跳包实现思路
    设计模式之访问者模式
    设计模式之责任链模式
    设计模式之策略者模式
    C#将.spl剥离成.emf文件格式
    设计模式之状态者模式
  • 原文地址:https://www.cnblogs.com/tangyin/p/12090126.html
Copyright © 2011-2022 走看看