zoukankan      html  css  js  c++  java
  • idea + springboot 的java后台服务器通过小米推送

    public class XiaomiPush {
    // 1.小米推送(我只推送Android且只应用regId发起推送,所以下面只有推送Android的代码
    private static final Log log = LogFactory.getLog(XiaomiPush.class);
    private Message buildMessageForAndroid(String title, String description, String messagePayload,
    Integer passThrough, Integer actionType, String actionUrl, Integer notifyType, String extendContent) {
    Message message;
    Message.Builder builder = new Message.Builder()
    .title(title)//标题(注意16字真言限制长度,这段画上重点考)
    .description(description)//描述(注意128限制长度,这段画上重点考,这个描述,我理解为副标题,而且在手机客户端呈现的也是标题+描述,内容不会自己显示出来,如果只是为了通知用户信息,我们可以将信息内容放在此处,显示效果比较明显。但是三个文字区域都不可空。需要补充文字方可使用)
    .payload(messagePayload)//内容(这个长度够你用了)
    .restrictedPackageName("com.handsight.fras.app")//APP包名
    .passThrough(passThrough)//是否透传
    .notifyType(notifyType)//设置震动,响铃等等
    .extra("extend_content", extendContent);//这里要注意下,你可以通过自定义的key传给客户端一段透传参数

    if (actionType == 1) {//动作跳转根据自己定义的方式去跳转url,if里的两组.extra是必须要放入的,这段画上重点
    builder.extra(Constants.EXTRA_PARAM_NOTIFY_EFFECT, Constants.NOTIFY_ACTIVITY)
    .extra(Constants.EXTRA_PARAM_INTENT_URI, actionUrl);
    } else if (actionType == 2) {
    builder.extra(Constants.EXTRA_PARAM_NOTIFY_EFFECT, Constants.NOTIFY_WEB)
    .extra(Constants.EXTRA_PARAM_WEB_URI, actionUrl);
    }
    message = builder.build();
    return message;
    }

    //1.2开始发送
    public Result sendMessageToRegId(String messageId, String title, String description,
    String messagePayload, Integer passThrough, Integer actionType, String actionUrl, Integer notifyType,
    String extendContent, String regId) {

    Constants.useOfficial();//这里要注意,这是正式-启动方式,支持IOS跟Android,Constants.useSandbox();这是测试-启动方式,不支持Android,尽量申请正式APP,利用正式环境测试
    Sender sender = new Sender("jKAussDowdzuANrDvYm62A==");
    Message message = buildMessageForAndroid(title, description, messagePayload, passThrough, actionType, actionUrl, notifyType, extendContent);
    Result result = null;
    try {
    log.info("小米推送开始推送");
    result = sender.send(message, "HL69kwZSUPet6hi05GSBA/XH3B17xwuVuCuM0vU3AajHItBjr7ivNM/l2n5mlLZQ", 1);
    log.info("小米推送成功");
    } catch (Exception e) {
    log.info(e.getMessage());
    }
    return result;
    }

  • 相关阅读:
    过程作为黑箱抽象——《计算机程序的构造和解释》
    过程与它们所产生的计算——《计算机程序的构造和解释》
    重构手法(四)之在对象之间搬移特性
    重构手法(三)之简化条件表达式
    重构手法(二)之简化函数调用
    重构手法(一)之重新组织函数
    代码的坏味道
    泛型算法(二十三)之排列算法
    泛型算法(二十二)之集合操作算法
    泛型算法(二十一)之比较算法
  • 原文地址:https://www.cnblogs.com/leeego-123/p/10315575.html
Copyright © 2011-2022 走看看