acmPush

论坛示例

为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码供您参考。

概述

阿里移动推送(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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: 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) {
   api.alert({
            msg: JSON.stringify(ret)
        })
});

可用性

iOS系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/04/24