推送Node.js文档

    最后更新于2014-12-11 15:03:17

    一、概述

    本文档主要讲解Wecloud消息推送API Node.js 版本封装开发包的使用,该版本目前按发送方式支持实时消息与定时消息,按接收类型支持所有人接收、按维度接收以及按token接收。


    二、接入说明

    使用npm install wecloudmessage-api进行局部安装

    或者

    使用npm install -g wecloudmessage-api进行全局安装


    三、使用介绍

    MessageClient

    对消息发送过程进行了封装。

    方法名

    用法

    备注

    MessageClient(option)

    传入option,支持appkey,masterSecret以及retryTimes

    appkeymasterSecret在创建应用时获得。重连次数可选,默认为3次。

    sendAllmessage,callback)

    传入Message对象以及回调方法

    全量异步发送消息,回调方法在请求处理完成后执行。

    sendByDimensionsmessage,callback)

    传入Message对象以及回调方法

    按维度异步发送消息,支持5个维度,可以填入一个或多个,有关维度信息参见附录

    sendByTokensmessage,callback)

    传入Message对象以及回调方法

    按token异步发送消息,token的个数不得超过100

    callback回调方法在请求完成后调用,支持两个参数(err,res),分别代表错误信息以及相应结果


    Message

    Message是对待发送消息实体的封装,包含了消息的基本参数信息。

    消息提供以下API

    方法名 解释
    setMessageTitle
    设置消息标题
    setMessageContent
    设置消息内容        
    setMessageType
    设置消息类型
    setSendType
    设置发送类型
    setMessageAction
    设置消息动作
    setActionParam
    设置动作参数
    setSendTime
    定时消息需要设置发送时间
    setRemandTime
    设置有效期
    setMessageStyle
    设置消息类型
    setMessageUrl
    设置跳转url
    setWarmType
    设置提醒方式,默认全选。
    setTokens
    设置token列表
    setVersions
    设置版本
    setChannels
    设置渠道
    setNetTypes
    设置网络类型
    setTags
    设置标签
    setCountries
    设置国家维度
    setReceiveType
    设置接收类型
    setPlatforms
    设置app平台,默认安卓。


    message的部分设置需要使用MessageEnum模块中的枚举(json实现),以下是MessageEnum模块中字段的具体含义。

    字段名

    含义

    messageType

    消息类型,枚举型,COMMAND(命令),NOTIFICATION(通知)以及RICH_MESSAGE(富媒体)。

    sendType

    消息的发送类型,枚举型,REALTIME(及时消息)DELAYED(定时消息)。

    WarmType

    消息的提醒方式,OPEN_BLN(呼吸灯),OPEN_BEL(响铃),OPEN_VIB(震动),该选项可多选。

    messageAction

    消息点击后触发的动作,枚举型,OPEN_APP(打开应用),OPEN_ACTIVITY(打开指定界面),OPEN_WEB_SITE(打开指定网页)和CUSTOM(自定义)。

    countries

    国家维度枚举,详细值参见附录

    tags

    标签维度枚举,详细值参见附录

    netTypes

    网络类型枚举,详细值参见附录

    platforms app平台,包括android和ios(ios分为开发环境和生产环境)

    以上字段通过相应的set方法进行设置


    四、使用样例

    var wecloudMessageApi=require('wecloudmessage-api');
    var MessageClient=wecloudMessageApi.MessageClient;
    var MESSAGE_ENUM=wecloudMessageApi.MESSAGE_ENUM;//引入消息枚举
    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=wecloudMessageApi.message;//引入消息模块
    var client =new MessageClient({appkey:应用的appkey,
        masterSecret:应用的masterSecret,
        retryTimes:3
    });//获得一个MessageClient对象,retryTimes可选,默认3次
    message
        .setMessageType(messageType.NOTIFICATION)
        .setMessageTitle('test title')
        .setMessageContent('test content')
        .setMessageAction(messageAction.OPEN_APP)
        .setSendType(sendType.REALTIME)
        .setPlatforms([platforms.ANDROID,platforms.IOS_DEV]);//链式设置消息
    //发送给所有人
    client.sendAll(message,function(err,res){
        console.log('这个方法是用来配置你希望在消息发送成功后执行的回调方法');
    });
    //按token发送
    message.setTokens([token列表]);
    client.sendByTokens(message,function(err,res){
        console.log('这个方法是用来配置你希望在消息发送成功后执行的回调方法');
    });
    
    //按维度发送
    message.setCountries([countries.OTHER]);
    message.setTags([tags.ONLINE_SHOPPING,tags.STUDENT]);//设置多个标签
    message.setNetTypes([netTypes._3G,netTypes.WIFI]);//设置多种网络类型
    message.setChannels(["google","baidu"]);
    message.setVersions(["1.0","1.1"]);
    client.sendByDimensions(message,function(err,res){
        console.log('这个方法是用来配置你希望在消息发送成功后执行的回调方法');
    });


    附录


    维度对应枚举类

    枚举元素

    含义

    netTypes

    _2G

    2G

    _3G

    3G

    _4G

    4G

    WIFI

    WIFI

    countries

    US

    美国

    GB

    英国

    AU

    澳大利亚

    CA

    加拿大

    RU

    俄罗斯

    DE

    德国

    SG

    新加坡

    FR

    法国

    HK

    香港(中国)

    IT

    意大利

    TH

    泰国

    NO

    挪威

    MY

    马来西亚

    KR

    韩国

    SE

    瑞典

    ID

    印度尼西亚

    SA

    沙特阿拉伯

    ES

    西班牙

    DK

    丹麦

    PH

    菲律宾

    NL

    荷兰

    IL

    JP

    日本

    NZ

    新西兰

    BR

    巴西

    BE

    比利时

    CH

    瑞士

    CZ

    捷克

    ZA

    南非

    CN

    中国

    TW
    中国台湾
    IN
    印度
    PK
    巴基斯坦
    NG
    尼日利亚
    MX
    墨西哥
    VN
    越南
    IR
    伊朗
    UA
    乌克兰
    CL
    智利
    PT
    葡萄牙
    TR
    土耳其
    GR
    希腊
    FI
    芬兰
    CO
    哥伦比亚
    HU
    匈牙利
    EG
    埃及
    IE
    爱尔兰
    HR
    克罗地亚
    RO
    罗马尼亚

    OT

    其他

    tags

    ONLINE_SHOPPING

    网购

    VIDEO

    视频

    GAME

    游戏

    STUDENT

    学生

    JOURNEY

    旅行

    CARTOON

    漫画

    NOVEL

    小说

    SPORTS

    体育

    SOCIAL_NET

    社交网络控

    NOVEL

    小说

    NEWS_READING

    新闻阅读

    POTENTIAL_PAYER

    潜在付费用户

    POTENTIAL_LOST_USER
    潜在流失用户
    NEW_USER
    新用户
    ACTIVE_USER 活跃用户