baidu-push-sdk

1.0.1 • Public • Published

BaiduPushNodejsServerSDK 百度推送node.js接口

感谢xiariqingquan,在其基础上补充了高级API接口和文档

安装

npm install baidu-push-sdk
npm install https://github.com/wangzheng422/BaiduPushNodejsServerSDK/tarball/master

基础API

1.queryBindList

**功能:**查询设备、应用、用户与百度Channel的绑定关系。

函数:

queryBindList(opt, callback)

参数:

opt Object , 属性如下表:

参数名称类型是否必需描述
user_idstring用户标识,不超过256字节
startuint查询起始页码,默认为0。
limituint一次查询条数,默认为10。
device_typeuint设备的类型,
3:Andriod设备;
4:iOS设备;
如果存在此字段,则只返回该设备类型的绑定关系。 默认不区分设备类型。

callback 回调函数,其中参数

参数名称类型描述
errObject错误码,成功时返回null;失败时,抛出Error对象
resultObject返回值

result包含response_params,response_params属性是一个二级json,由n个包含key和value属性的对象组成。表示API返回的数据内容。

response_params中包含以下字段:

字段类型描述
total_numuint系统返回的消息个数。
amountuint本次查询绑定数量。
channel_iduint通道标识。
user_idstringchannel绑定的user标识。
device_iduintchannel绑定的设备编号。
device_typeuintchannel绑定的设备类型。
device_namestringchannel绑定的设备描述。
bind_namestringchannel绑定名称。
bind_timestringchannel绑定时间。
infostringchannel绑定附加信息。
device_typeuintchannel绑定的设备类型。
bind_statusuint绑定状态,0:绑定在线; 1:绑定离线。
online_statusstring应用在线状态,on:在线;off:离线。
online_timestampuint连接创建时间,仅在在线状态时返回。
online_expiresuint连接超时时,仅在在线状态时返回。

2.pushMsg

**功能:**推送消息,该接口可用于推送单个人、一群人、所有人以及固定设备的使用场景。

函数:

pushMsg(opt, callback)

参数:

opt Object , 属性如下表:

参数名称类型是否必需描述
user_idstring用户标识,在Android里,channel_id + userid指定某一个特定client。不超过256字节,如果存在此字段,则只推送给此用户。
push_typeuint推送类型,取值范围为:1~3;
1:单个人,必须指定user_id 和 channel_id (指定用户的指定设备)或者user_id(指定用户的所有设备)
2:一群人,必须指定 tag
3:所有人,无需指定tag、user_id、channel_id
channel_iduint通道标识
tagstring标签名称,不超过128字节
device_typeuint设备类型,
3:Andriod设备;
4:iOS设备;
如果存在此字段,则向指定的设备类型推送消息。 默认为android设备类型。
message_typeuint消息类型
0:消息(透传给应用的消息体)
1:通知(对应设备上的消息通知) 默认值为0。
messagesstring指定消息内容,单个消息为单独字符串。如果有二进制的消息内容,请先做 BASE64 的编码。 当message_type为1 (通知类型),请按以下格式指定消息内容。
通知消息格式及默认值:

{
//android必选,ios可选
"title" : "hello" ,
“description: "hello world"

//android特有字段,可选
"notification_builder_id": 0,
"notification_basic_style": 7,
"open_type":0,
"net_support" : 1,
"user_confirm": 0,
"url": "http://developer.baidu.com",
"pkg_content":"",
"pkg_name" : "com.baidu.bccsclient",
"pkg_version":"0.1",

//android自定义字段
"custom_content": {
"key1":"value1",
"key2":"value2"
},

//ios特有字段,可选
"aps": {
"alert":"Message From Baidu Push",
"Sound":"",
"Badge":0
},

//ios的自定义字段
"key1":"value1",
"key2":"value2"
}
注意:
当description与alert同时存在时,ios推送以alert内容作为通知内容
当custom_content与 ios的自定义字段"key":"value"同时存在时,ios推送的自定义字段内容会将以上两个内容合并,但推送内容整体长度不能大于256B,否则有被截断的风险。
此格式兼容Android和ios原生通知格式的推送。

msg_keysstring消息标识。 指定消息标识,必须和messages一一对应。相同消息标识的消息会自动覆盖。特别提醒:该功能只支持android设备。
message_expiresuint指定消息的过期时间,默认为86400秒。必须和messages一一对应。
deploy_statusuint部署状态。指定应用当前的部署状态,可取值:
1:开发状态
2:生产状态
若不指定,则默认设置为生产状态。特别提醒:该功能只支持ios设备类型。

callback 回调函数,其中参数

参数名称类型描述
errObject错误码,成功时返回null;失败时,抛出Error对象
resultObject返回值

示例

var baidu_push = require("baidu-push-sdk");

var client = new baidu_push({
	ak: 'your ak here',
	sk: 'your sk here'
});

client.pushMsg({
	user_id:"your user id here",
	channel_id:"your channel id here",
	push_type: 1,
	device_type:4,
	messages: JSON.stringify({title:'title',description:'description',aps:{alert:'aps message',sound:'',badge:0}}),
	msg_keys: JSON.stringify(["key0"]),
	message_type:1,
	deploy_status:1
}, function(err, result){
	console.log(result);
})

高级API

3.verifyBind

**功能:**判断设备、应用、用户与Channel的绑定关系是否存在。

函数:

verifyBind(opt, callback)

参数:

opt Object , 属性如下表:

参数名称类型是否必需描述
user_idstring用户标识,不超过256字节
device_typestring设备的类型编号如下:
3:Andriod设备;
4:iOS设备;
如果存在此字段,则只返回该设备类型的绑定关系。 默认不区分设备类型。
**callback** 回调函数,其中参数
参数名称类型描述
errObject错误码,成功时返回null;失败时,抛出Error对象
resultObject返回值

4.fetchMsg

**功能:**查询离线消息。

函数:

fetchMsg(opt, callback)

参数:

opt Object , 属性如下表:

参数名称类型是否必需描述
user_idstring用户标识,不超过256字节
startuint查询起始页码,默认为0。
limituint一次查询条数,默认为10。
**callback** 回调函数,其中参数
参数名称类型描述
errObject错误码,成功时返回null;失败时,抛出Error对象
resultObject返回值

result包含response_params,response_params属性是一个二级json,由n个包含key和value属性的对象组成。表示API返回的数据内容。

response_params中包含以下字段:

字段类型描述
total_numuint系统返回的消息个数。
channel_iduint通道标识。
msg_iduint系统返回的消息id。
msg_keystring消息标识,用于覆盖消息内容。
messagestring消息内容。
mssage_lengthuint系统返回的消息长度。
message_typeuint消息类型。
message_expiresuint消息过期时间。

5.fetchMsgCount

**功能:**查询离线消息的个数。

函数:

fetchMsgCount(opt, callback)

参数:

opt Object , 属性如下表:

参数名称类型是否必需描述
user_idstring用户标识,不超过256字节
**callback** 回调函数,其中参数
参数名称类型描述
errObject错误码,成功时返回null;失败时,抛出Error对象
resultObject返回值

result包含response_params,response_params属性是一个二级json,由n个包含key和value属性的对象组成。表示API返回的数据内容。

response_params中包含以下字段:

字段类型描述
total_numuint系统返回的消息总数。

6.deleteMsg

**功能:**删除离线消息。

函数:

deleteMsg(opt, callback)

参数:

opt Object , 属性如下表:

参数名称类型是否必需描述
user_idstring用户标识,不超过256字节
msg_idsstring删除的消息id列表,由一个或多个msg_id组成,多个用json数组表示。如:123 或 [123, 456]。
**callback** 回调函数,其中参数
参数名称类型描述
errObject错误码,成功时返回null;失败时,抛出Error对象
resultObject返回值

result包含response_params,response_params属性是一个二级json,由n个包含key和value属性的对象组成。表示API返回的数据内容。

response_params中包含以下字段:

字段类型描述
success_amountuint成功删除条数。
msg_iduint删除消息ID。
resultuint消息删除结果,有以下两个值: 0:成功;

1:失败。

7.setTag

**功能:**服务器端设置用户标签。当该标签不存在时,服务端将会创建该标签。特别地,当user_id被提交时,服务端将会完成用户和tag的绑定操作。

函数:

setTag(opt, callback)

参数:

opt Object , 属性如下表:

参数名称类型是否必需描述
user_idstring用户标识,不超过256字节
tagstring标签名,最长128字节。
**callback** 回调函数,其中参数
参数名称类型描述
errObject错误码,成功时返回null;失败时,抛出Error对象
resultObject返回值

8.fetchTag

**功能:**App Server查询应用标签。

函数:

fetchTag(opt, callback)

参数:

opt Object , 属性如下表:

参数名称类型是否必需描述
namestring标签名称。
startuint查询起始页码,默认为0。
limituint一次查询条数,默认为10。
>**说明**:name若被指定,则获取该标签的详细信息;否则,获取按页获取应用的所有标签。

callback 回调函数,其中参数

参数名称类型描述
errObject错误码,成功时返回null;失败时,抛出Error对象
resultObject返回值

result包含response_params,response_params属性是一个二级json,由n个包含key和value属性的对象组成。表示API返回的数据内容。

response_params中包含以下字段:

字段类型描述
total_numuint系统返回的消息总数。
amountuint本次查询绑定数量。
tagsstring标签数组,其中包含:
tid:标签ID
name:标签名称
info:标签信息
type:标签类型
create_time:标签创建时间

9.deleteTag

**功能:**服务端删除用户标签。特别地,当user_id被提交时,服务端将只会完成解除该用户与tag绑定关系的操作。

注意:该操作不可恢复,请谨慎使用。

函数:

deleteTag(opt, callback)

参数:

opt Object , 属性如下表:

参数名称类型是否必需描述
user_idstring用户标识,不超过256字节
tagstring标签名,最长128字节。

callback 回调函数,其中参数

参数名称类型描述
errObject错误码,成功时返回null;失败时,抛出Error对象
resultObject返回值

10.queryUserTag

**功能:**App Server查询用户所属的标签列表。

函数:

queryUserTag(opt, callback)

参数:

opt Object , 属性如下表:

参数名称类型是否必需描述
user_idstring用户标识,不超过256字节

callback 回调函数,其中参数

参数名称类型描述
errObject错误码,成功时返回null;失败时,抛出Error对象
resultObject返回值

result包含response_params,response_params属性是一个二级json,由n个包含key和value属性的对象组成。表示API返回的数据内容。

response_params中包含以下字段:

字段类型描述
tag_numuint标签数
tagsstring标签数组,其中包含:
tid:标签ID

name:标签名称

info:标签信息

type:标签类型

create_time:标签创建时间

11.queryDeviceTag

**功能:**根据channel_id查询设备类型。

函数:

queryDeviceTag(opt, callback)

参数:

opt Object , 属性如下表:

参数名称类型是否必需描述
channel_iduint通道标识,系统返回的channel_id。

callback 回调函数,其中参数

参数名称类型描述
errObject错误码,成功时返回null;失败时,抛出Error对象
resultObject返回值

result包含response_params,response_params属性是一个二级json,由n个包含key和value属性的对象组成。表示API返回的数据内容。

response_params中包含以下字段:

字段类型描述
device_typeuint设备的类型, 3:Andriod设备; 4:iOS设备;

Readme

Keywords

none

Package Sidebar

Install

npm i baidu-push-sdk

Weekly Downloads

0

Version

1.0.1

License

MIT

Last publish

Collaborators

  • wangzheng422