bdPush插件封装了百度慧推推送平台的SDK,使用此插件可实现接收推送通知和透传消息功能
1.在百度慧推网站注册帐号,并创建应用,获取APP_KEY和SECKEY, 注册账号
2.在初始化的时候传入APP_KEY和SECKEY
3.前端调用bdPush插件的初始化,即可完成SDK的初始化。
接口的err参数会返回结果错误码,错误码含义如下:
-5:未绑定的设备。
-4:内部Json格式错误。
-3:网络异常导致的失败。
-2:内部逻辑错误。
-1:其他错误。
接口的err参数会返回通用错误码,错误码含义如下:
1:接口方法名为空。
2:未找到对应的接口方法。
3:内部错误。
4:SDK初始化失败。
12:因未设置同意隐私协议,导致的调用失败。
1.初始化
var bdpush = api.require(‘bdPush’);
var param = {appKey:‘xxx’,secKey: ‘xxx’};
bdpush.init(param);
参数说明:
String appKey和String secKey用于服务器的访问校验,这是分配给渠道集成我们SDK的凭证,需要从百度慧推平台进行申请。
2.延迟初始化
根据传入的参数使初始化行为延迟一段时间开始,注意该接口与上面的初始化接口只能调用一个。
var bdpush = api.require(‘bdPush’);
var param = {appKey:’xxx’,secKey:’xxx’,delay:10};
bdpush.initDelay(param);
如果在同意隐私协议前调用初始化接口,初始化过程会被中止,并在调用同意隐私协议方法后恢复。 参数说明: int delay 用于延迟初始化的时间,单位是秒,初始化行为将于delay秒后开始执行。 appKey和secKey用于服务器的访问校验,这是分配给渠道集成我们SDK的凭证,需要从百度慧推平台进行申请。
3.绑定设备ID
通过调用此接口绑定宿主应用定义的设备ID,用于ID映射。
var bdpush = api.require(‘bdPush’);
var param = {did:’xxx’ };
bdpush.setDid(param);
参数说明: String did为宿主应用用于标识本设备的唯一Id值。请尽早绑定设备ID以方便进行ID映射(可以在调用初始化接口前)
4.设置用户同意隐私协议接口
通过调用此接口告知慧推SDK用户是否同意了隐私协议。
在同意隐私协议前,所有对本SDK的调用将不会生效,具有返回值的方法会获取到空的返回值,具有错误码的接口会接收到错误码12(见通用错误码),初始化过程会在delay结束后被中止,直到同意了隐私协议。
var bdpush = api.require(‘bdPush’);
var param = {agree:true};
bdpush.setAgreePolicy(param);
参数说明:
boolean agree为用户是否同意了隐私协议,true为同意,false为不同意,如果不设置隐私协议,可能在SDK实际运行中由于某些需要授权的权限问题导致部分功能失效。 合入慧推SDK的App需要在自身隐私协议中设置慧推隐私协议,查看隐私协议链接
5.设置通知状态栏小图标
var bdpush = api.require(‘bdPush’);
var param = {small_icon:xxx };
bdpush.setSmallIcon(param);
该方法用于设置通知状态栏小图标。 参数说明: small_icon:需要设置的图标文件资源的名称
6.设置静默时间段
var bdpush = api.require(‘bdPush’);
var param = {startHour:xxx, durationHour:xxx};
bdpush.setSilentTime(param, function(ret,err) {
var result = ret.result;
});
该方法用于设置静默时间。请于init方法后调用。若不设置静默时间,默认静默时间为晚11点到次日7点。 参数说明: int startHour是静默时间的开始时间值,24小时制,如传入13表示静默时间从下午1时开始。 int durationHour是静默时间的持续时间,单位为小时,如静默2小时则传入2。
7.检查Push在线状态
var bdpush = api.require(‘bdPush’);
bdpush.isPushEnabled(function(ret,err) {
var result = ret.result;
});
该方法用于检查当前Push在线状态。请于init方法后调用。 返回boolean型的结果,true表示当前Push服务在线,false表示当前Push服务不在线。错误码含义见通用错误码。
8.获取PushUid
var bdpush = api.require(‘bdPush’);
bdpush.getPushUid(function(ret,err) {
var pushUid = ret.result;
});
该方法用于获取当前设备的Push Uid,该Id用于对设备进行唯一映射。 返回值为当前设备的PushUid。 错误码含义见通用错误码。
9.开启/关闭Push服务
var bdpush = api.require(‘bdPush’);
var param = {isActive:true };
bdpush.setPushActive(param,function(ret,err) {
var result = ret.result;
});
该方法用开启或关闭当前的Push服务状态,默认为开启。 如果不确认当前的服务开启或关闭状态,请调用该接口将状态设置为希望的值。 返回值结果码含义如下:
2:Push服务被设置为开启。
1:Push服务被设置为关闭。
其他结果码见通用结果码。 错误码含义见通用错误码。 isActive是要设置的Push服务开启/关闭状态的值。
10.开启/关闭调试信息
var bdpush = api.require(‘bdPush’);
var param = {debug:true };
bdpush.setDebug(param,function(ret,err) {
var result = ret.result;
});
该方法用开启或关闭调试信息输出。如果不调用该方法,默认值为false。 将debug开关设为true之后,将会在logcat中输出TAG为“PUSH_SDK”的调试信息。 debug是要设置的调试信息开关的值。
11.设置别名
var bdpush = api.require(‘bdPush’);
var param = {alias:’xxx’ };
bdpush.setAlias(param,function(ret,err) {
var result = ret.result;
});
该方法用设置别名,一台设备只能设置一个别名 alias是要设置的别名。 返回结果码含义如下: 0 - 成功 10000 - 失败:设备未注册 100001 - 绑定失败:别名格式不符合规范 其他结果码见通用结果码。
12.获取别名
var bdpush = api.require(‘bdPush’);
bdpush.getAliasN(function(ret,err) {
var alias = ret.result;
});
该方法用获取别名。 返回结果,可以通过Json进行解析,其中0字段为int类型结果码,1字段为别名。 结果码含义如下:
0 - 成功
10000 - 失败:设备未注册
110001 - 查询别名出错,原因:设备尚未绑定别名
其他结果码见通用结果码。
13.删除别名
var bdpush = api.require(‘bdPush’);
bdpush.deleteAlias(function(ret,err) {
var result = ret.result;
});
该方法用删除别名。 返回结果码含义如下:
0 - 成功
10000 - 失败:设备未注册
100001 - 绑定失败:别名格式不符合规范
其他结果码见通用结果码。
14.添加标签
var bdpush = api.require(‘bdPush’);
var param = {tags:’tag1,tag2' };
bdpush.addTags(param,function(ret,err) {
var result = ret.result;
});
该方法用添加标签,可以添加多个标签,多个标签用逗号分隔。 返回结果码含义如下:
0 - 成功
10000 - 失败:设备未注册
200001 - 失败,标签不符合规范
200002 - 失败,此设备标签数量超过上限
200003 - 失败,增加或更新的标签为空
200004 - 失败,每次最多设置和更新100个标签
其他结果码见通用结果码。
15.删除标签
var bdpush = api.require(‘bdPush’);
var param = {tags:’tag1,tag2' };
bdpush.deleteTags(param,function(ret,err) {
var result = ret.result;
});
该方法用删除标签,可以删除多个标签,多个标签间用逗号分隔。 返回结果码含义如下:
0 - 成功
10000 - 失败:设备未注册
200001 - 失败,标签不符合规范
200002 - 失败,此设备标签数量超过上限
200003 - 失败,增加或更新的标签为空
200004 - 失败,每次最多设置和更新100个标签
其他结果码见通用结果码。
16.更新标签
var bdpush = api.require(‘bdPush’);
var param = {tags:’tag1,tag2' };
bdpush.updateTags(param,function(ret,err) {
var result = ret.result;
});
该方法用更新标签,更新标签会清空原有所有标签,并更换为新设的标签列表,多个标签用逗号分隔。 返回结果码含义如下:
0 - 成功
10000 - 失败:设备未注册
200001 - 失败,标签不符合规范
200002 - 失败,此设备标签数量超过上限
200003 - 失败,增加或更新的标签为空
200004 - 失败,每次最多设置和更新100个标签
其他结果码见通用结果码。
17.清空标签
var bdpush = api.require(‘bdPush’);
bdpush.cleanTags(function(ret,err) {
var result= ret.result;
});
该方法用清空标签列表 结果码含义如下:
0 - 成功
10000 - 失败:设备未注册
其他结果码见通用结果码。
18.查询单个标签是否绑定
var bdpush = api.require(‘bdPush’);
var param = {tags:’xxx' };
bdpush.isTagBinding(param,function(ret,err) {
var binding= ret.result;
});
该方法用来查询单个标签是否已经绑定 tag表示要查询的标签 返回结果码含义如下:
0 - 成功 & 设备绑定所查询的标签
10000 - 失败:设备未注册
200001 - 失败,标签不符合规范
210001 - 查询单个标签,设备未绑定所查询的标签
其他结果码见通用结果码。
19.查询所有标签
var bdpush = api.require(‘bdPush’);
bdpush.getAllTagsN(function(ret,err) {
var tags= ret.result;
});
该方法用获取标签列表 返回的结果,可以通过Json进行解析,其中0字段为int类型结果码,1字段为设置的所有标签,类型为JsonArray 结果码含义如下:
0 - 成功
10000 - 失败:设备未注册
其他结果码见通用结果码。
20.判断当前应用是否拥有通知栏权限
var bdpush = api.require(‘bdPush’);
bdpush.areNotificationsEnabled(function(ret,err) {
var result= ret.result;
});
该方法用获取是否有通知栏 返回Boolean结果码含义如下: true - 成功。 其他结果码见通用结果码。
21.设置应用处于前台状态下,能否显示通知栏
var bdpush = api.require(‘bdPush’);
var param = {enable:false };
bdpush.setNotificationEnableInForeground(param,function(ret,err) {
var result= ret.result;
});
true标识可以显示,false 代表不显示
22.设置通知栏最大显示的条数
var bdpush = api.require(‘bdPush’);
var param = {max_count:3};
bdpush.setMaxNotificationCount(param,function(ret,err) {
var result= ret.result;
});
3代表最终设置的最大显示条数
23.设置消息监听
var bdpush = api.require(‘bdPush’);
bdpush.setPushEventListener(function(ret,err) {
var result = ret.result;
}); 消息会通过result返回回来