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

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

 

转载于:https://www.cnblogs.com/xiaokangk/p/11101036.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java源码导入eclipse_spring framework源码下载并导入eclipse

一. 准备工作1.下载安装sts(springsource推荐使用), 毕竟人家的框架用他自家的ide是最好的,当然sts也是基本eclipse的, 下载地址: http://www.springsource.org/downloads/sts-ggts2.下载安装gradle, spring 源码构建加入了gradle支持. gradle下载: http://www.gradle.org/down…

[原创]在windows下搭建基于apache的SVN环境

[原创]在windows下搭建基于apache的SVN环境 1 软件下载&#xff1a; 在http://httpd.apache.org/download.cgi&#xff0c;下载&#xff1a; apache_2.2.14-win32-x86-openssl-0.9.8k.msi 在 http://subversion.tigris.org/&#xff0c;下载&#xff1a; Setup-Subversion-1.6.…

16.Python略有小成(内置模块Ⅱ)

Python(内置模块Ⅱ) 一、规范化开发 一个py文件中 文件加载问题代码可读性,查询差要将一个py文件分开,合理的分成多个py文件 配置文件放在一起 : 一些轻易不改变的变量,一般命名 settings.py主逻辑函数放在一起 : 一般命名 src.py辅助功能函数放在一起 : 公共组件部分,装饰器,l…

[原]nasm语法

工具:nasm 汇编gcc 编译cld 进行链接kscope 查看源代码make 工程管理khexedit 分析二进制文件一&#xff1a;nasm源文件布局&#xff1a;像其他汇编器一样&#xff0c; nasm源文件包含四个域的组合。&#xff08;除了宏&#xff0c; 或者预编译器指示&#xff0c; 或者汇编…

C#仿QQ皮肤-常用用户控件EnterFrom1和窗体EntryForm的实现

导读部分 ------------------------------------------------------------------------------------------------------------- C#仿QQ皮肤&#xff0d;实现原理系列文章导航 最新版源码下载 http://www.cckan.net/thread-2-1-1.html 本次是我们窗体实现的最后一节&#xff0c…

助教小结13

本周总结&#xff1a; 主要为完成团队任务五的批改 整体完成的还可以 第1组、第9组&#xff1a;未点击提交按钮总成绩打八折 优秀作业&#xff1a; 第5组&#xff1a;https://www.cnblogs.com/lishuya/p/11088462.html 千帆竟发图&#xff1a; 转载于:https://www.cnblogs.com/…

java工作台无法显示_【Eclipse】使用指南(18)搜索工作台

Searching the workbench搜索工作台In this section, you will search the workbench for Java elements.本小节&#xff0c;你将在工作台中搜索Java元素。In the Search dialog, you can perform file, text or Java searches. Java searches operate on the structure of the…

Gridview 鼠标悬浮光棒效果

代码 1 protectedvoidGridView1_RowDataBound(objectsender, GridViewRowEventArgs e)2 {3 4 //如果是绑定数据行 5 6 if(e.Row.RowType DataControlRowType.DataRow)7 {8 9 //鼠标经过时&#xff0c;行背景色变 10 e.Row.Attributes.Add("onmouseover",11 "cu…

神策埋点

首先进入后台管理点击生成导入代码&#xff1a; 选好选项后点生成&#xff1a; 以下是生成的代码&#xff1a; (function(para) {var p para.sdk_url, n para.name, w window, d document, s script,x null,y null;if(typeof(w[sensorsDataAnalytic201505]) ! undefined…

java 抽象类语法_JAVA基础语法8--多态/抽象类/抽象方法

多态继承、封装、多态、抽象是面向对象编程的四大基本特征。封装隐藏了类的内部实现机制&#xff0c;从而可以在不影响使用者的前提条件下&#xff0c;改变类的内部结构&#xff0c;同时保护了数据。继承是为了重用父类代码&#xff0c;同时为多态做准备。那么&#xff0c;什么…

(搬家文) c++引用深入探讨

(偶然翻起自己的旧博,忽然发现大三的时候写的这篇文章,仔细看看觉得写的还是那么回事,所以赶紧搭救出来) 引用的声明: 基本格式&#xff1a;引用类型 &引用名被引用对象 &运算符&#xff1a;声明运算符& 跟取地址运算符&和位异或运算符&没有任何关系ext…

参数作用域实践

auto参数&#xff0c;申明时可以忽略auto void fun(){int p 1;cout<<"p:"<<p<<endl;for(int i0;i<5;i){int p 10;cout<<"p:"<<p<<endl;}// 此处输出的还是外围作用域定义的p值1cout<<"p:"<<…

phpstudy2018修改php版本,phpstudy的php版本自由修改的方法

作为PHP开发的常用工具&#xff0c;phpstudy具有许多强大的功能&#xff0c;它可以连接到MySQL并检查服务器状态&#xff0c;感兴趣的话就随爱站技术频道小编一起来了解phpstudy的php版本自由修改的方法吧&#xff01;网上有着许多的网站集成搭建软件&#xff0c;比较出名的就有…

API网关从入门到放弃

前言 假设你正在开发一个电商网站&#xff0c;那么这里会涉及到很多后端的微服务&#xff0c;比如会员、商品、推荐服务等等。 那么这里就会遇到一个问题&#xff0c;APP/Browser怎么去访问这些后端的服务? 如果业务比较简单的话&#xff0c;可以给每个业务都分配一个独立的域…