tuisongbao

Tuisongbao SDK

推送宝 Node.js SDK

Node.js版本要求:>=0.6

npm install tuisongbao
var client = new require('tuisongbao').Client('tuisongbao-api-key', 'tuisongbao-api-secret');
client.sendNotificationToAll('app-key', 'hello world', function (errnid) {
    if (err) return console.log(err);
    console.log('notification id:' + nid);
});
client.sendNotificationByChannels('app-key', ['channel1'], 'hello world', function (errnid) {
    if (err) return console.log(err);
    console.log('notification id:' + nid);
});
client.sendNotificationByAppVersion('app-key', ['version1'], 'hello world', function (errnid) {
    if (err) return console.log(err);
    console.log('notification id:' + nid);
});
client.sendNotificationByChannelsAndAppVersion('app-key', ['channel1'], ['version1'], 'hello world', function (errnid) {
    if (err) return console.log(err);
    console.log('notification id:' + nid);
});
client.sendNotificationByTokens('app-key', ['token1'], 'hello world', function (errnid) {
    if (err) return console.log(err);   
    console.log('notification id:' + nid);
});
  • 所有 sendNotification 方法均有一个可选参数 options(object) ,可用于设置 extraest 等可选项
  • 当推送给苹果设备时,如果 extra 中含有 aps 字段, message 会被忽略
  • est 必须为 Date 对象(不需要考虑时区),例如:new Date(2013, 7, 7, 0, 0, 0)
var options = {};
options.extra = {
    "aps" : {
        "alert" : {
            "body" : "hello world",
            "action-loc-key" : "",
            "loc-key" : "",
            "loc-args" : [],
            "launch-image" : ""
        },
        "badge" : 1,
        "sound" : "alert.aov"
    },
    "key1" : "value1",
    "key2" : "value2"
};
options.est = new Date(2013, 7, 7, 0, 0, 0);
 
client.sendNotificationToAll('app-key', 'this wil be ignored', options, function (errnid) {
    if (err) return console.log(err);
    console.log('notification id:' + nid);
});
// 推送消息 
// ...... 
client.queryNotificationStatus('app-key', nid, function (errstatus) {
    if (err) return console.log(err);
    console.log('success count: ' + status.success + ' failed count: ' + status.failed);
});