- acmPush
- 论坛示例
- onAppStart
- getDeviceId
- turnOnPushChannel
- turnOffPushChannel
- checkPushChannelStatus
- bindAccount
- unbindAccount
- bindTag
- unbindTag
- listTags
- addAlias
- removeAlias
- setNotificationSound
- setNotificationLargeIcon
- setDoNotDisturb
- closeDoNotDisturbMode
- clearNotifications
- bindPhoneNumber
- unbindPhoneNumber
- addMessageListener
- removeMessageListener
- syncBadgeNum
acmPush
来自于:开发者立即使用
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控制台。
模块接口
onAppStart
统计App启动信息。
onAppStart({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.onAppStart({
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
getDeviceId
获取设备唯一标识。
getDeviceId({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
deviceId:'' //字符串类型;设备唯一标识
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.getDeviceId({
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
turnOnPushChannel
打开推送通道。
turnOnPushChannel({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.turnOnPushChannel({
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
turnOffPushChannel
关闭推送通道。
turnOffPushChannel({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.turnOffPushChannel({
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
checkPushChannelStatus
查询通道状态。
checkPushChannelStatus({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否打开
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.checkPushChannelStatus({
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
bindAccount
通道与账号绑定。
bindAccount({params}, callback(ret))
parameter
account
- 类型:字符串类型
- 描述:要绑定的账号
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否打开
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.bindAccount({
account:'',
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
unbindAccount
通道与账号取消绑定。
unbindAccount({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否打开
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.unbindAccount({
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
bindTag
绑定标签。
bindTag({params}, callback(ret))
parameter
target
- 类型:数字类型
- 描述:(可选项)目标类型,1:本设备; 2:本设备绑定账号; 3:别名
- 取值范围:1:本设备; 2:本设备绑定账号; 3:别名
- 默认值:1
tags
- 类型:Json数组
- 描述:标签
alias
- 类型:字符串类型;
- 描述:别名;仅当target为3时有效
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否打开
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.bindTag({
target:1,
tags:{'',''},
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
unbindTag
取消绑定标签。
unbindTag({params}, callback(ret))
parameter
target
- 类型:数字类型
- 描述:(可选项)目标类型,1:本设备; 2:本设备绑定账号; 3:别名
- 取值范围:1:本设备; 2:本设备绑定账号; 3:别名
- 默认值:1
tags
- 类型:Json数组
- 描述:标签
alias
- 类型:字符串类型;
- 描述:别名;仅当target为3时有效
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.unbindTag({
target:1,
tags:{'',''},
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
listTags
本设备标签查询。
listTags({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
tags:'', //字符串类型;该设备绑定的标签
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.listTags({
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
addAlias
设备添加别名。
addAlias({params}, callback(ret))
parameter
alias
- 类型:字符串类型
- 描述:别名
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.addAlias({
alias:'',
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
removeAlias
设备移除别名。
removeAlias({params}, callback(ret))
parameter
alias
- 类型:字符串类型
- 描述:别名
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.removeAlias({
alias:'',
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
setNotificationSound
设置通知声音。
setNotificationSound({params}, callback(ret))
parameter
soundPath
- 类型:字符串类型
- 描述:声音文件路径;支持widget,fs路径
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'', //字符串类型;信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.setNotificationSound({
soundPath:'',
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
setNotificationLargeIcon
设置通知栏图标。
setNotificationLargeIcon({params}, callback(ret))
parameter
iconPath
- 类型:字符串类型
- 描述:图片路径;支持widget,fs路径
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg:'', //字符串类型;信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.setNotificationLargeIcon({
iconPath:'',
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
setDoNotDisturb
设置免打扰时段。
setDoNotDisturb({params}, callback(ret))
parameter
startHour
- 类型:数字类型
- 描述:免打扰开始时间(小时)
- 取值范围:0-23
startMinute
- 类型:数字类型
- 描述:免打扰开始时间(分钟)
- 取值范围:0-59
endHour
- 类型:数字类型
- 描述:免打扰结束时间(小时)
- 取值范围:0-23
endMinute
- 类型:数字类型
- 描述:免打扰结束时间(分钟)
- 取值范围:0-59
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.setDoNotDisturb({
startHour:,
startMinute:,
endHour:,
endMinute:.
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
closeDoNotDisturbMode
关闭免打扰。
closeDoNotDisturbMode({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.closeDoNotDisturbMode({
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
clearNotifications
删除所有通知。
clearNotifications({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.clearNotifications({
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
bindPhoneNumber
绑定电话号。开发者可以设置在一定时间内,如果用户未收到或未点击推送,通过短信补发通知用户。具体方案可参考:推送短信融合。 为实现推送短信融合方案,需要绑定电话号码
bindPhoneNumber({params}, callback(ret))
parameter
phoneNumber
- 类型:字符串类型
- 描述:电话号码
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.bindPhoneNumber({
phoneNumber:'',
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
unbindPhoneNumber
设备解绑电话号。
unbindPhoneNumber({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.unbindPhoneNumber({
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
addMessageListener
添加消息监听。
addMessageListener({params}, callback(ret))
parameter
listenerName
- 类型:字符串类型
- 描述;监听name,支持多个位置监听,可根据name移除某监听
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
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) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
removeMessageListener
移除消息监听。
removeMessageListener({params}, callback(ret))
parameter
listenerName
- 类型:字符串类型
- 描述;监听name,根据name移除某监听,addMessageListener接口中传入的listenerName
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
示例代码
var acmPush = api.require('acmPush');
acmPush.removeMessageListener({
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
syncBadgeNum
同步角标数到服务端
syncBadgeNum({params}, callback(ret))
parameter
num
- 类型:数字类型
- 描述:角标数,取值范围[0,99999]
- 默认:0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;true/false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:'', //字符串类型;错误码
errorMsg:'', //字符串类型;错误信息
}
示例代码
var acmPush = api.require('acmPush');
acmPush.syncBadgeNum({
num:1,
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS系统
可提供的1.0.0及更高版本