push 插件提供官方推送的相关操作,包括推送设置、监听推送消息、绑定用户、加入群组、退出群组等功能。
在 iOS 平台,插件在应用启动后默认会向系统请求通知权限,如果想自行请求通知权限,可以在 config.xml 里面配置 requestPermission 字段为 false,如:
<feature name="push">
<param name="requestPermission" value="false" />
</feature>
另外,iOS 在应用启动、进入前台时会自动清除应用图标上面的数字,如果不想自动清除,可以配置 resetAppIconBadge 字段为 false,如:
<feature name="push">
<param name="resetAppIconBadge" value="false" />
</feature>
将来自第三方业务系统(比如您自己的商城、O2O、OA、CRM系统等)的用户信息绑定至APICloud推送服务器,实现推送给指定用户的功能(即“单推”)。
bind({params}, callback(ret, err))
userId:
userName:
ret:
内部字段:
{
status:true //操作成功状态值
}
err:
内部字段:
{
msg:”” //错误描述
}
var push = api.require('push');
push.bind({
userName: 'testName',
userId: 'testId'
}, function(ret, err){
if( ret ){
alert( JSON.stringify( ret) );
}else{
alert( JSON.stringify( err) );
}
});
##补充说明
无
iOS系统,Android系统
可提供的1.0.0及更高版本
解除已绑定用户的绑定状态,解除绑定后,无法再指定该用户推送消息。
unbind({params}, callback(ret, err))
userId:
userName:
ret:
内部字段:
{
status:true //操作成功状态值
}
err:
内部字段:
{
msg:”” //错误描述
}
var push = api.require('push');
push.unbind({
userName: 'testName',
userId: 'testId'
}, function(ret, err){
if( ret ){
alert( JSON.stringify( ret) );
}else{
alert( JSON.stringify( err) );
}
});
##补充说明
无
iOS系统,Android系统
可提供的1.0.0及更高版本
加入某个群组。加入该群组后,当服务器向该群组推送消息时,所有在该群组内的用户都会收到推送,非该群组用户不会收到推送。默认所有用户都加入"all"群组。
joinGroup({params}, callback(ret, err))
groupName:
ret:
内部字段:
{
status:true //操作成功状态值
}
err:
内部字段:
{
msg:”” //错误描述
}
var push = api.require('push');
push.joinGroup({
groupName: 'department'
}, function(ret, err){
if( ret ){
alert( JSON.stringify( ret) );
}else{
alert( JSON.stringify( err) );
}
});
##补充说明
绑定群组
iOS系统,Android系统
可提供的1.0.0及更高版本
退出某个群组。退出该群组后,服务器向该群组推送消息时,此用户将不再收到推送。
leaveGroup({params}, callback(ret, err))
groupName:
ret:
内部字段:
{
status:true //操作成功状态值
}
err:
内部字段:
{
msg:”” //错误描述
}
var push = api.require('push');
push.leaveGroup({
groupName: 'department'
}, function(ret, err){
if( ret ){
alert( JSON.stringify( ret) );
}else{
alert( JSON.stringify( err) );
}
});
##补充说明
移除群组绑定
iOS系统,Android系统
可提供的1.0.0及更高版本
一次性退出所有通过joinGroup加入的群组。
leaveAllGroup(callback(ret, err))
ret:
内部字段:
{
status:true //操作成功状态值
}
err:
内部字段:
{
msg:”” //错误描述
}
var push = api.require('push');
push.leaveAllGroup(function( ret, err ){
if( ret ){
alert( JSON.stringify( ret) );
}else{
alert( JSON.stringify( err) );
}
});
##补充说明
移除所有群组绑定
iOS系统,Android系统
可提供的1.0.0及更高版本
注册监听推送消息。 注册该监听后,在应用启动的状态下,“消息”类型的推送,将直接交给该函数的回调,由开发人员自行处理推送消息,不自动弹出通知到手机状态栏。如果移除监听,则又会自动弹出通知到手机状态栏;在应用退出的状态下,“消息”类型的推送,APICloud引擎也会自动弹出通知到手机状态栏。 “通知”类型的推送则会直接弹出通知到手机状态栏,不会交给监听函数的回调。
setListener(callback(ret, err))
ret:
内部字段:
{
data:[] //消息内容,对象数组
}
var push = api.require('push');
push.setListener(function( ret, err ){
if( ret ){
alert( JSON.stringify( ret) );
}else{
alert( JSON.stringify( err) );
}
});
##补充说明
无
iOS系统,Android系统
可提供的1.0.0及更高版本
移除对推送消息的监听。移除监听后,收到“消息”类型的推送,APICloud引擎将自动弹出通知到手机状态栏
removeListener()
var push = api.require('push');
push.removeListener();
##补充说明
无
iOS系统,Android系统
可提供的1.0.0及更高版本
推送偏好设置,如是否允许弹出通知到手机状态栏,推送静默时间,通知提示类型等。
setPreference({param})
notify:
updateCurrent:
silenceTime:
{
startHour://静默开始时,取值范围0-23,默认0
startMinute://静默开始分,取值范围0-59,默认59
endHour://静默结束时,取值范围0-23,默认0
endMinute://静默结束分,取值范围0-59,默认59
};
defaults:
var push = api.require('push');
push.setPreference({
notify: true,
updateCurrent: false,
silenceTime: {//晚上10点30到第二天上午9点之间静默
startHour: 22,
endHour: 9,
startMinute: 30,
endMinute: 0
},
defaults: 'all'
});
##补充说明
无
iOS系统,Android系统
可提供的1.0.0及更高版本