• 小米推送之服务端简单开发


    1.获取SDK,并写入常量表

    2.引入MiPush_SDK_Sever.jar文件和json-simple-1.1.1.jar

    3.开发服务端代码(这里是用别名进行推送)

    /*===================================小米推送=================================*/
    /**
    * 指定alias推送(单个或多个)
    *
    * @param messagePayload 消息
    * @param title 消息标题
    * @param description 消息描述
    * @param adsType 消息类型
    * @param adsLinks 消息链接
    * @param aliasList 指定alias
    */
    public static boolean xiaomiBatchPush(String messagePayload, String title, String description, String adsType,
    String adsLinks, List<String> aliasList, Map<String,String> parm) {
    log.info("小米设备:{}",aliasList);
    try {
    JSONObject result = builderMessageAndSender(messagePayload, title, description, adsType, adsLinks,parm);
    Message message = (Message) result.get("message");
    Sender sender = (Sender) result.get("sender");
    Result pushResult = sender.sendToAlias(message, aliasList, 3);
    log.debug("++++推送到小米结果为:{}",pushResult);
    if (pushResult != null) {
    return true;
    }
    } catch (Exception e) {
    e.printStackTrace();
    log.error("小米指定alias失败:", e);
    }
    return false;
    }

    public static JSONObject builderMessageAndSender(String messagePayload, String title, String description, String adsType, String adsLinks,Map<String,String> parm) {
    //boolean isProd = myProperties.getPush().isProd();
    boolean isProd = ConstantsUnit.xiaomiProd;
    // 设置环境 正式环境下使用Push服务,启动时需要调用如下代码
    Constants.useOfficial();
    Map<String, String> map = new HashMap<>();
    map.put("ads_type", adsType);
    map.put("ads_links", adsLinks);
    // 构建消息
    Message message = new Message.Builder()
    .title(title)
    .description(description)
    .payload(messagePayload)
    .extra(Constants.EXTRA_PARAM_NOTIFY_FOREGROUND,Constants.NOTIFY_LAUNCHER_ACTIVITY)
    //.extra(parm)
    .restrictedPackageName(ConstantsUnit.xiaomiPackageName)
    // 使用默认提示音提示
    .notifyType(1)
    .build();
    // 构建发送
    Sender sender = new Sender(ConstantsUnit.xiaomiAppSecretKey);
    JSONObject result = new JSONObject();
    result.put("message", message);
    result.put("sender", sender);
    return result;
    }
  • 相关阅读:
    docker十一:docker-DockerFile案例-CMD、ENTRYPOINT、ONBUILD
    查看JVM使用的什么垃圾收集器
    Druid 加载 Kafka 流数据的性能配置参数 TuningConfig
    NPM 和 NVM
    Windows 中 Node.js 中 nvm 的安装配置和使用
    Nvm 安装新的 nodejs 版本
    Druid 加载 Kafka 流数据配置可以读取和处理的流中数据格式
    Druid 加载 Kafka 流数据 KafkaSupervisorIOConfig 配置信息表
    Java 面试都只是背答案不
    有什么理由将代码保存为 GBK 编码
  • 原文地址:https://www.cnblogs.com/xiaokangk/p/11101036.html
Copyright © 2020-2023  润新知