使用WeCloud消息推送接口发送消息NodeJs版
WeCloud是一家初创公司的产品,眼下主要在做Android和IOS消息推送这块。他们提供了用于向设备发送消息的协议,详细协议内容见消息推送协议。
这篇文章将使用NodeJs基于这个推送协议完毕向App用户推送消息的服务端SDK。
首先你须要注冊一个帐号。然后系统会为你自己主动生成一个測试demo,你能够通过扫二维码或先下载到电脑的方式获得apk文件。再将其安装到自己的手机上之后就能够測试发送效果了,每一个应用都会有相应的Appkey和Master Secret这两个属性,它是作为发送消息的凭证而存在的。在发送消息时接口须要这两个參数对发送者的身份进行识别。你能够在应用列表获得Appkey以及在详情里获得Master Secret。
当然假设你有自己的App,而且须要集成消息推送服务,请參见Wecloud MessageclientSDK文档。
以上是对编写代码前一些须要知道的内容的介绍,接下来就能够编写代码实现了。
实现的完整代码在我的GitHub上已经开源,欢迎批评与吐槽。
測试例子见例如以下代码:
/**
* Created by luzhen on 14-9-24.
*/
var MessageClient = require('./MessageClient');//引入MessageClient,该模块用来实现消息发送
var MESSAGE_ENUM=require('./MessageEnum');//引入消息枚举
var messageType=MESSAGE_ENUM.messageType;//消息类型枚举
var messageAction=MESSAGE_ENUM.messageAction;//消息动作枚举
var sendType=MESSAGE_ENUM.sendType;//消息的发送类型枚举
var countries=MESSAGE_ENUM.countries;//国家维度枚举
var tags=MESSAGE_ENUM.tags;//标签枚举
var netTypes=MESSAGE_ENUM.netTypes;//网络类型枚举
var platforms=MESSAGE_ENUM.platforms;
var message=require('./Message');//引入消息模块
var client =MessageClient.instance('DXZBSF7IOC6ACKOZCOT8R9IJ', 'ZKUIVPP71E51Z0Y6HLSHO9T15MS504AC');//获得一个MessageClient对象
message
.setMessageType(messageType.NOTIFICATION)
.setMessageTitle('test title')
.setMessageContent('test content')
.setMessageAction(messageAction.OPEN_APP)
.setSendType(sendType.REALTIME)
.setPlatforms(platforms.ANDROID);//链式设置消息
//发送给全部人
client.sendAll(message,function(err,res){
console.log(err);//err包括错误信息
console.log(res);//res包括响应结果
console.log('这种方法是用来配置你希望在消息发送成功后运行的回调方法');
}); //按token发送
message.setTokens('140775224048952ddd91a4ced3b74');
client.sendByTokens(message,function(){
console.log('这种方法是用来配置你希望在消息发送成功后运行的回调方法');
}); //按维度发送
message.setCountries(countries.OTHER);
message.setTags(tags.ONLINE_SHOPPING,tags.PASSENGER);//设置多个标签
message.setNetTypes(netTypes._3G,netTypes.WIFI);//设置多种网络类型
message.setChannels("google","baidu");
message.setVersions("1.0","1.1");
client.sendByDimensions(message,function(){
console.log('这种方法是用来配置你希望在消息发送成功后运行的回调方法');
});
眼下该SDK支持三种消息推送模式,各自是发送给全部用户,按维度发送(眼下支持5中维度:国家类型,网络类型,标签,渠道以及版本号)以及按token发送(token是用来标识特定用户)。
支持Android和IOS平台(IOS包含生产和开发环境)的消息推送。
假设须要使用该SDK,仅仅需使用npm install wecloudmessage-api进行安装就可以。
使用WeCloud消息推送接口发送消息NodeJs版的更多相关文章
- Java企业微信开发_05_消息推送之发送消息(主动)
一.本节要点 1.发送消息与被动回复消息 (1)流程不同:发送消息是第三方服务器主动通知微信服务器向用户发消息.而被动回复消息是 用户发送消息之后,微信服务器将消息传递给 第三方服务器,第三方服务器接 ...
- Java企业微信开发_04_消息推送之发送消息(主动)
源码请见: Java企业微信开发_00_源码及资源汇总贴 一.本节要点 1.发送消息与被动回复消息 (1)流程不同:发送消息是第三方服务器主动通知微信服务器向用户发消息.而被动回复消息是 用户发送消息 ...
- springboot整合websocket实现一对一消息推送和广播消息推送
maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- APP消息推送是否进入消息中心和click、receive事件分析
前端时间研究APP消息推送的机制,由于机型.版本的碎片化,消息推送的机制不太好理解,所以总结下,放在博文里以备后续查阅. 安卓Android系统的消息推送: 安卓 推送方式 应用状态 类型 消 ...
- Android消息推送的服务端
2.Android消息推送 MQTT服务器采用mosquito http://mosquitto.org/ PHP管理包采用phpmqttclient:https://github.com/toku ...
- 基于socket.io的实时消息推送
用户访问Web站点的过程是基于HTTP协议的,而HTTP协议的工作模式是:请求-响应,客户端发出访问请求,服务器端以资源数据响应请求. 也就是说,服务器端始终是被动的,即使服务器端的资源数据发生变化, ...
- 如何使用Postman调试HMS Core推送接口?
HMS Core推送服务支持开发者使用HTTPS协议接入Push服务端.Postman是一款接口测试工具,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果.Postma ...
- .NET向APNS苹果消息推送通知
一.Apns简介: Apns是苹果推送通知服务. 二.原理: APNs会对用户进行物理连接认证,和设备令牌认证(简言之就是苹果的服务器检查设备里的证书以确定其为苹果设备):然后,将服务器的信息接收并且 ...
- APNS IOS 消息推送
一.Apns简介: Apns是苹果推送通知服务. 二.原理: APNs会对用户进行物理连接认证,和设备令牌认证(简言之就是苹果的服务器检查设备里的证书以确定其为苹果设备):然后,将服务器的信息接收并且 ...
随机推荐
- compass模块----Utilities----Sprites精灵图合图
css雪碧图又叫css精灵或css sprite,是一种背景图片的拼合技术.使用css雪碧图,能够减少页面的请求数.降低图片占用的字节,以此来达到提升页面访问速度的目的.但是它也有令人诟病的地方,就是 ...
- (转)IIS5.1的安装配置并发布ASP.NET网站
最近跟老师做一个桥梁养护系统的项目,要求用VS2008+Sql Server2000,服务器用IIS.由于之前做过的ASP.NET项目都是用的VS内置的服务器,并没有使用过IIS,第一次搭,花了几个小 ...
- Android Studio tips and tricks 翻译学习
Android Studio tips and tricks 翻译 这里是原文的链接. 正文: 如果你对Android Studio和IntelliJ不熟悉,本页提供了一些建议,让你可以从最常见的任务 ...
- C#图像处理(2):给图片加白边
C#图片处理给图片添加白边: /// <summary> /// 在图片上方加入白边 /// </summary> /// <param name="Img&q ...
- RegExp子模式- "()"
读书笔记 把JavaScript权威指南拿出来瞅瞅,正巧看到了第十章 正则表达式的模式匹配 最初接触js的时候,基本上都是在做验证.什么数字验证.命名验证.身份证格式验证.电话号码验证.都是用正则表达 ...
- 1236 hdu排名
Problem Description 今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑 每题的分值,所以并不是最后的排名.给定录取分数线,请你写程序找出最后通 ...
- 洛谷 P1241 括号序列
P1241 括号序列 题目描述 定义如下规则序列(字符串): 1.空序列是规则序列: 2.如果S是规则序列,那么(S)和[S]也是规则序列: 3.如果A和B都是规则序列,那么AB也是规则序列. 例如, ...
- js借用和绑定
var one = { name:"object", say:function(greet) { return greet + ","+this.name; } ...
- 512M内存机器如何用好Mysql
购买阿里云512M内存ECS后,mysql有时候会自动关闭,停止运行 解决办法: a,优化mysql配置,因为自己安装的是mysql 5.6,而从5.6开始,mysql安装包中不再包含my-small ...
- 获取本机CPU,硬盘等使用情况
早上的时候接到主管的一个任务,要获取服务器上的cpu,硬盘, 数据库等 的使用情况,并以邮件的方式发给boss, = =没办法,公司的服务器真是不敢恭维,顺便吐槽一下公司的网速,卡的时候30k左右徘徊 ...