zoukankan      html  css  js  c++  java
  • 使用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进行安装就可以。

  • 相关阅读:
    关于C_Sharp集中处理异常
    关于Java连接SQL Sever数据库
    MongoDB 的主键 _id 为什么不是自增数字
    svn 命令行基本操作
    如何删除 Git 仓库中的历史提交记录
    .git 文件太大时怎样处理
    Git 提交到多个远程仓库
    Git SSH keygen 生成与配置
    Git 远端回滚
    Git 合并或修改线上 commit
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5243260.html
Copyright © 2011-2022 走看看