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;
    }

  • 相关阅读:
    ACM HDU 1176 免费馅饼(DP)
    PHP下载时中文文件名乱码的问题
    NYOJ 27
    NYOJ 148
    NYOJ 8
    NYOJ 138
    NYOJ 461
    POJ 1200
    STL排序算法
    NYOJ 523
  • 原文地址:https://www.cnblogs.com/leeego-123/p/10315575.html
Copyright © 2011-2022 走看看