acmPush

来自于:官方立即使用

概述

阿里移动推送(Alibaba Cloud Mobile Push)是基于大数据的移动智能推送服务,帮助App快速集成移动推送的功能,在实现高效、精确、实时的移动推送的同时,极大地降低了开发成本。让开发者最有效地与用户保持连接,从而提高用户活跃度、提高应用的留存率。

注意: 由于官方建议保留阿里云平台下载的UTDID SDK,所以本模块不提供无UTDID版本,如同时使用阿里云其他模块,建议使用无UTDID版本。

使用此模块之前需先配置 config.xml 文件,方法如下

  • 配置示例:
<feature name="acmPush">

    <param  name="androidAppKey" value="25662805"/>
    <param  name="androidAppSecret" value="84dda7456c877d7594cf9247aee117e9"/>
    <param  name="iOSAppKey" value="25662805"/>
    <param  name="iOSAppSecret" value="84dda7456c877d7594cf9247aee117e9"/>
    </feature>
  • 字段描述:

    androidAppKey:阿里移动推送平台的安卓 AppKey。 在阿里云EMAS控制台获取EMAS控制台

    androidAppSecret:阿里移动推送平台的安卓 AppSecret。 在阿里云EMAS控制台获取EMAS控制台

    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系统

可提供的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移除某监听(iOS不支持)

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,            //布尔类型;true/false 是否成功
    type:,                  //android回调类型;1/收到推送通知,2/应用在前台收到自定义通知,3/收到一条推送消息,4/有动作通知点击回调,5/通知删除,6/无动作通知点击回调
                             //iOS回调类型;0/前台收到通知,1/用户点击通知进入应用,仅支持iOS10.0(包含10.0)及以上,iOS10.0以下前台收到通知和用户点击通知进入应用type统一为0,2/通道打开通知,3/收到一条推送消息
    removedNotificationId:'',  //字符串类型;移除的通知id 仅type为5时返回,iOS不支持此字段
    notification:{        //JSON对象类型;通知内容对象,type为:1、2、4、6返回,iOS为:0、1

         title:'',      //字符串类型;标题,
         subtitle:'',   //字符串类型;子标题,只支持iOS,仅仅支持iOS10.0(包含10.0)及以上
        summary:'',      //字符串类型;概要
        noticeDate:'',   //数字类型;通知时间(时间戳),只支持iOS,仅支持iOS10.0(包含10.0)及以上
        extras:[{        //JSON数组类型;扩展字段,iOS为通知自定义字段内容,为字符串类型
            name:'',     //字符串类型;扩展内容key
          value:'',      //字符串类型;扩展内容value
        },],
        badge:0,         //数字类型;角标,只支持iOS
        openType:,       //数字类型;动作type 1/打开APP,2/打开activity,3/打开URL,4/无跳转逻辑;仅type为4时有效,iOS不支持此字段
        activity:'',        //字符串类型;需要打开的页面;仅type为4  openType为2时返回,iOS不支持此字段
        url:'',      //字符串类型;需要打开的地址;仅type为4  openType为3时返回,iOS不支持此字段
    },    
    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及更高版本