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

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

时间: 2024-11-17 09:34:23

使用WeCloud消息推送接口发送消息NodeJs版的相关文章

springboot整合websocket实现一对一消息推送和广播消息推送

maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> 常量类 //webSocket相关配置 //链接地址 public static String WEBSOCKETPATHPERFIX = "/ws-push&

企业微信消息推送接口

1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 5 namespace Nany.Web.Trans 6 { 7 public class AccessToken 8 { 9 private string Access_token; 10 11 public string access_token 12 { 13 get { return Access_token; } 14 set { Acc

基于socket.io的实时消息推送

用户访问Web站点的过程是基于HTTP协议的,而HTTP协议的工作模式是:请求-响应,客户端发出访问请求,服务器端以资源数据响应请求. 也就是说,服务器端始终是被动的,即使服务器端的资源数据发生变化,如果没有来自客户端的请求,用户就不会看到这些变化. 这种模式是不适合某些应用场景的,比如在社交网络用户需要近乎实时地知道其他用户最新的信息.对于普通站点来说, 请求-响应模式可以满足绝大多数的功能需求,但总有某些功能我们希望能够为用户提供实时消息的体验. 为解决这个问题,有两种方案可以选择: 仍旧使

消息推送

http://blog.csdn.net/axi295309066/article/details/53180628 消息推送 标签: 消息推送push极光推送小米推送即时通信 2016-11-16 00:16 70人阅读 评论(0) 收藏 举报 分类: Android基础(79) 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 消息推送,即时通信,目的:想办法让服务器能够及时的通知客户端 消息推送最简单的方法就是使用第三方的,比如现在使用比较多的是小米推送.极光推送,消

Android开发笔记(一百零四)消息推送SDK

推送的集成 常用概念 推送:从服务器把消息实时发到客户端app上,这就是推送,推送可用于发送系统通知.发送推荐信息.发送聊天消息等等. 别名:用于给移动设备取个好记的名字,比如电脑有计算机名,可以把别名理解为开发者给移送设备起的外号.不过,多个移动设备可以起一样的别名,这几个设备就会同时收到发给该别名的消息. 标记:用于给移动设备打标签,可以理解为分类,比如超市里的泰国大米既可以打上"粮食制品"的标签,也可以打上"进口商品"的标签.服务器可以统一给某个种类的移动设备

.net C# 苹果消息推送 工具类

public class AppleAPNSMessage { /// <summary> /// 苹果信息推送 证书 路径(注意测试版跟正式发布版证书上不一样) /// </summary> private static string cerPath = ConfigurationManager.AppSettings["CerPath"]; /// <summary> /// 苹果推送服务 密码 /// </summary> priv

MQTT是IBM开发的一个即时通讯协议,构建于TCP/IP协议上,是物联网IoT的订阅协议,借助消息推送功能,可以更好地实现远程控制

最近一直做物联网方面的开发,以下内容关于使用MQTT过程中遇到问题的记录以及需要掌握的机制原理,主要讲解理论. 背景 MQTT是IBM开发的一个即时通讯协议.MQTT构建于TCP/IP协议上,面向M2M和物联网IoT的连接协议,采用轻量级发布和订阅消息传输机制.Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的短消息通信简单易用. 基本概念 [MQTT协议特点]——相比于RESTful架构的物联网系统,MQ

使用dwr3.0实现服务端向浏览器做消息推送,做滚动评论或弹幕效果,而且根据视频id做推送消息拦截功能

最近项目要实现视频播放时做弹幕和评论滚动,使用flash做sockt编程不会,就想到使用服务器消息推送做,翻找资料发现使用html5的websocket可以实现,但是ie8是不支持websocket的,最终确定使用dwr3做消息推送,普通的dwr3做消息推送会把消息推送到所有打开的页面,这样针对某一个视频的评论就会弹出到其他的视频中去,实现每个视频弹出各自的评论,就需要做dwr3的消息推送做过滤处理,经过一天的研究终于搞定了 贴出完整的代码demo 1 使用dwr3的web.xml的配置 <se

Expo大作战(十四)--expo中消息推送的实现

简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981 [之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发] 相关文章: Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xd