onAppStart getDeviceId turnOnPushChannel turnOffPushChannel checkPushChannelStatus bindAccount unbindAccount bindTag unbindTag listTags addAlias removeAlias setNotificationSound setNotificationLargeIcon setDoNotDisturb closeDoNotDisturbMode clearNotifications bindPhoneNumber unbindPhoneNumber addMessageListener removeMessageListener syncBadgeNum
为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码供您参考。
阿里移动推送(Alibaba Cloud Mobile Push)是基于大数据的移动智能推送服务,帮助App快速集成移动推送的功能,在实现高效、精确、实时的移动推送的同时,极大地降低了开发成本。让开发者最有效地与用户保持连接,从而提高用户活跃度、提高应用的留存率。
使用此原生插件之前需先配置 config.xml 文件,方法如下
<feature name="acmPush">
<param name="androidAppKey" value="25662805"/>
<param name="androidAppSecret" value="84dda7456c877d7594cf9247aee117e9"/>
<param name="androidChannelId" value="11"/>
<param name="androidChannel" value="appchannel"/>
<param name="androidChannelDes" value="notification description"/>
<param name="androidChannelLight" value="0"/>
<param name="androidChannelVibration" value="0"/>
<param name="iOSAppKey" value="25662805"/>
<param name="iOSAppSecret" value="84dda7456c877d7594cf9247aee117e9"/>
</feature>
字段描述:
androidAppKey:阿里移动推送平台的安卓 AppKey。 在阿里云EMAS控制台获取EMAS控制台。
androidAppSecret:阿里移动推送平台的安卓 AppSecret。 在阿里云EMAS控制台获取EMAS控制台。
androidChannelId:安卓8.0推送渠道配置,渠道id。后天通过此渠道id推送
androidChannel:安卓8.0推送渠道配置,渠道名称。
androidChannelDes:安卓8.0推送渠道配置,渠道描述。
androidChannelLight:安卓8.0推送渠道配置,通知出现时是否闪灯,0/不闪 1/闪灯。
androidChannelVibration:安卓8.0推送渠道配置,通知出现时是否震动,0/不震动 1/震动。
iOSAppKey:阿里移动推送平台的iOS AppKey。 在阿里云EMAS控制台获取EMAS控制台。
iOSAppSecret:阿里移动推送平台的iOS AppSecret。 在阿里云EMAS控制台获取EMAS控制台。
统计App启动信息。
onAppStart({params}, callback(ret))
ret:
{
status:true //布尔类型;true/false 是否成功
}
err:
{
msg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.onAppStart({
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
获取设备唯一标识。
getDeviceId({params}, callback(ret))
ret:
{
status:true, //布尔类型;true/false 是否成功
deviceId:'' //字符串类型;设备唯一标识
}
err:
{
msg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.getDeviceId({
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统,iOS系统
可提供的1.0.0及更高版本
打开推送通道。
turnOnPushChannel({params}, callback(ret))
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.turnOnPushChannel({
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
关闭推送通道。
turnOffPushChannel({params}, callback(ret))
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.turnOffPushChannel({
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
查询通道状态。
checkPushChannelStatus({params}, callback(ret))
ret:
{
status:true, //布尔类型;true/false 是否打开
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.checkPushChannelStatus({
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统,iOS系统
可提供的1.0.0及更高版本
通道与账号绑定。
bindAccount({params}, callback(ret))
account
ret:
{
status:true, //布尔类型;true/false 是否打开
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.bindAccount({
account:'',
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统,iOS系统
可提供的1.0.0及更高版本
通道与账号取消绑定。
unbindAccount({params}, callback(ret))
ret:
{
status:true, //布尔类型;true/false 是否打开
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.unbindAccount({
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统,iOS系统
可提供的1.0.0及更高版本
绑定标签。
bindTag({params}, callback(ret))
target
tags
alias
ret:
{
status:true, //布尔类型;true/false 是否打开
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.bindTag({
target:1,
tags:{'',''},
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统,iOS系统
可提供的1.0.0及更高版本
取消绑定标签。
unbindTag({params}, callback(ret))
target
tags
alias
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.unbindTag({
target:1,
tags:{'',''},
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统,iOS系统
可提供的1.0.0及更高版本
本设备标签查询。
listTags({params}, callback(ret))
ret:
{
status:true, //布尔类型;true/false 是否成功
tags:'', //字符串类型;该设备绑定的标签
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.listTags({
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统,iOS系统
可提供的1.0.0及更高版本
设备添加别名。
addAlias({params}, callback(ret))
alias
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.addAlias({
alias:'',
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统,iOS系统
可提供的1.0.0及更高版本
设备移除别名。
removeAlias({params}, callback(ret))
alias
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.removeAlias({
alias:'',
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统,iOS系统
可提供的1.0.0及更高版本
设置通知声音。
setNotificationSound({params}, callback(ret))
soundPath
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
msg:'', //字符串类型;信息
}
var acmPush = api.require('acmPush');
acmPush.setNotificationSound({
soundPath:'',
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
设置通知栏图标。
setNotificationLargeIcon({params}, callback(ret))
iconPath
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
msg:'', //字符串类型;信息
}
var acmPush = api.require('acmPush');
acmPush.setNotificationLargeIcon({
iconPath:'',
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
设置免打扰时段。
setDoNotDisturb({params}, callback(ret))
startHour
startMinute
endHour
endMinute
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.setDoNotDisturb({
startHour:,
startMinute:,
endHour:,
endMinute:.
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
关闭免打扰。
closeDoNotDisturbMode({params}, callback(ret))
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.closeDoNotDisturbMode({
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
删除所有通知。
clearNotifications({params}, callback(ret))
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.clearNotifications({
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
绑定电话号。开发者可以设置在一定时间内,如果用户未收到或未点击推送,通过短信补发通知用户。具体方案可参考:推送短信融合。 为实现推送短信融合方案,需要绑定电话号码
bindPhoneNumber({params}, callback(ret))
phoneNumber
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.bindPhoneNumber({
phoneNumber:'',
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
设备解绑电话号。
unbindPhoneNumber({params}, callback(ret))
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.unbindPhoneNumber({
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
添加消息监听。
addMessageListener({params}, callback(ret))
listenerName
ret:
{
status:true, //布尔类型;true/false 是否成功
type:, //回调类型;1/收到推送通知,2/应用在前台收到自定义通知,3/收到一条推送消息,4/有动作通知点击回调,5/通知删除,6/无动作通知点击回调,7/通道打开通知(仅支持iOS)
removedNotificationId:'', //字符串类型;移除的通知id 仅type为5时返回
notification:{ //JSON对象类型;通知内容对象,type为:1、2、4、6返回
title:'', //字符串类型;标题
summary:'', //字符串类型;概要
extras:[{ //JSON数组类型;扩展字段
name:'', //字符串类型;扩展内容key
value:'', //字符串类型;扩展内容value
},],
openType:, //数字类型;动作type 1/打开APP,2/打开activity,3/打开URL,4/无跳转逻辑;仅type为4时有效
activity:'', //字符串类型;需要打开的页面;仅type为4 openType为2时返回
url:'', //字符串类型;需要打开的地址;仅type为4 openType为3时返回
},
message:{ //JSON对象类型;消息内容对象;仅type为3时返回
messageId:'', //字符串类型;消息id,iOS不支持
title:'', //字符串类型;消息title
content:'', //字符串类型;消息内容
},
}
var acmPush = api.require('acmPush');
acmPush.addMessageListener({
listenerName:'name',
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统,iOS系统
可提供的1.0.0及更高版本
移除消息监听。
removeMessageListener({params}, callback(ret))
listenerName
ret:
{
status:true, //布尔类型;true/false 是否成功
}
var acmPush = api.require('acmPush');
acmPush.removeMessageListener({
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统,iOS系统
可提供的1.0.0及更高版本
同步角标数到服务端
syncBadgeNum({params}, callback(ret))
num
ret:
{
status:true, //布尔类型;true/false 是否成功
}
err:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
var acmPush = api.require('acmPush');
acmPush.syncBadgeNum({
num:1,
}, function(ret, err) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统
可提供的1.0.0及更高版本