码迷,mamicode.com
首页 > Web开发 > 详细

使用WeCloud消息推送接口发送消息NodeJs版

时间:2014-10-30 19:20:28      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:nodejs   github   开源   ios平台   android   

WeCloud是一家初创公司的产品,目前主要在做Android和IOS消息推送这块。他们提供了用于向设备发送消息的协议,具体协议内容见消息推送协议

这篇文章将使用NodeJs基于这个推送协议完成向App用户推送消息的服务端SDK。

首先你需要注册一个帐号,然后系统会为你自动生成一个测试demo,你可以通过扫二维码或先下载到电脑的方式获得apk文件,再将其安装到自己的手机上之后就可以测试发送效果了,每个应用都会有对应的Appkey和Master Secret这两个属性,它是作为发送消息的凭证而存在的,在发送消息时接口需要这两个参数对发送者的身份进行识别。你可以在应用列表获得Appkey以及在详情里获得Master Secret。


当然如果你有自己的App,并且需要集成消息推送服务,请参见Wecloud Message客户端SDK文档


以上是对编写代表前一些需要知道的内容的介绍,接下来就可以编写代码实现了。

实现的完整代码在我的GitHub上已经开源,欢迎批评与吐槽。

自己写的NodeJs版的消息推送SDK唯一需要的依赖可能就是request了,将代码从git上clone下来后只需要执行npm install安装好依赖就可以使用了。

使用样例见如下代码:

/**
 * 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包括生产和开发环境)的消息推送。

使用WeCloud消息推送接口发送消息NodeJs版

标签:nodejs   github   开源   ios平台   android   

原文地址:http://blog.csdn.net/yukjin/article/details/40622285

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!