推送插件,使用百度云推送服务。使用前先到百度云推送申请相关key。
$ cordova plugin add https://git.mysoft.com.cn/mic_mobile/cordova-baidu-push.git --variable BPUSHKEY_IOS="debugAPIKey:testAPIKey:distAPIKey" --variable BPUSHKEY_ANDROID="debugAPIKey:testAPIKey:distAPIKey"
其中BPUSHKEY_IOS
和BPUSHKEY_ANDROID
为申请的百度云推送APIKEY。申请在这里。*请注意APIKey的顺序*
。
app将根据ID(iOS的bundleID,android的包名)来自动选择合适的key。
1、 收到通知
PushNotification.addEventListener(callback)
参数名 | 类型 | 作用 | 备注 |
---|---|---|---|
callback | Object | 通知各种状态回调 | 参见示例说明 |
示例
// app初始化完成后开始监听
var callback = {
"onReceived":function(data){
//收到通知,data是服务端推送过来的自定义数据,为json对象
//...
},
"onTouched":function(data){
//通知中心点击通知,会启动或者激活app,一般业务逻辑处理在这里处理即可,比如做页面跳转;
//data是服务端推送过来的自定义数据,为json对象
//...
},
"onSilenced":function(data){
//收到静默通知,暂时用不到,可以不用关注
//data是服务端推送过来的自定义数据,为json对象
//...
},
"onError":function(error){
//注册通知监听失败,error为String
//...
}
}
PushNotification.addEventListener(callback)
2、 获取绑定信息
PushNotification.getBindInfo(success, fail)
参数名 | 类型 | 作用 | 备注 |
---|---|---|---|
succes(bindInfo) | Function | 获取绑定信息成功回调 | 回调值为JSON对象{'channelId':'xxxx','userId':'xxxx','appId':'xxxx'} |
fail(error) | Function | 获取channelID异常回调 | error为String |
示例
// 获取绑定信息
PushNotification.getBindInfo(function(bindInfo){
// bindInfo为JSON对象
// ...
// ...
},
function(error){
// 获取bindInfo失败
})
{
"title" : "hello" ,
"description": "hello world" //必选
"notification_builder_id": 0, //可选
"notification_basic_style": 7, //可选
"open_type":0, //可选
"url": "http://developer.baidu.com", //可选
"pkg_content":"", //可选
"custom_content":{"key":"value"},
}
参数名 | 备注 |
---|---|
title | 通知标题,可以为空;如果为空则设为appid对应的应用名; |
description | 通知文本内容,不能为空; |
notification_builder_id | android客户端自定义通知样式,如果没有设置默认为0; |
notification_basic_style | 只有notification_builder_id为0时有效,可以设置通知的基本样式包括(响铃:0x04;振动:0x02;可清除:0x01;),这是一个flag整形,每一位代表一种样式,如果想选择任意两种或三种通知样式,notification_basic_style的值即为对应样式数值相加后的值。 |
url | 需要打开的Url地址,open_type为1时才有效; |
open_type | 点击通知后的行为(1:打开Url; 2:自定义行为;), |
pkg_content | 格式为:#Intent;component=packageName/com.mysoft.core.view.DaemonActivity;end |
custom_content | 自定义内容,键值对,Json对象形式(可选);在android客户端,这些键值对将以Intent中的extra进行传递。 |
{
"aps": {
"alert":"Message From Baidu Cloud Push-Service",
"sound":"", //可选
"badge":0, //可选
},
"key1":"value1",
"key2":"value2"
}
参数名 | 备注 |
---|---|
alert | 其内容可以为字符串或者字典,如果是字符串,那么将会在通知中显示这条内容; |
badge | 其值为数字,表示当通知到达设备时,应用的角标变为多少。如果没有使用这个字段,那么应用的角标将不会改变。设置为 0 时,会清除应用的角标; |
sound | 指定通知展现时伴随的提醒音文件名。如果找不到指定的文件或者值为 default,那么默认的系统音将会被使用。如果为空,那么将没有声音; |
"key1" "value1" "key2" "value2" | 用户自定义参数的字段的key值和对应的vlue值。 |