aliyun acmp for cordova
如果你发现有bug,fork之后提交就行了
钉钉:wxj109
已经上传npm 可直接安装
cordova plugin add cordova-plugin-acmp --nofetch --force --variable ANDROID_APP_KEY=*** --variable ANDROID_APP_SECRET=*** --variable IOS_APP_KEY=*** --variable IOS_APP_SECRET=***
cordova安装请参考cordova安装教程
如上图所示,从本地址git clone 项目到本地,也可以直接线上安装
由于阿里云移动推送的改版,现在Android和iOS的appid和appsercret分离,所以安装命令修改如下:
cordova plugin add <path> --nofetch --force --variable ANDROID_APP_KEY=*** --variable ANDROID_APP_SECRET=*** --variable IOS_APP_KEY=*** --variable IOS_APP_SECRET=***
使用cordova add plugin命令把plugin安装到项目中。
PS:因为本项目对安卓的mainfest.xml文件作了修改,--force为了重写mainfest.xml文件,避免引起冲突,如有需要可在插件安装成功之后把需要自行添加到mainfest文件中。
使用此命令查看插件装成功与否,如果出现org.giter.pushplugin则表明插件安装成功
如上图所示,在项目家在cordova.js的情况先,直接使用cordova.plugins.PushPlugin.androidInit(success,fail)调用
由于plugin已经安装到项目中去,所以也可以通过window.cordova.plugins.PushPlugin.funcName(success(res),fail(res))全局调用
android接口(具体可参考)
android系统初始化阿里云推送调用接口,success,fail分别为成功和失败的回调函数
,随着程序的启动自动初始化,取消了本接口
android绑定信息调用接口,success,fail为成功和失败的回调函数
args为参数数组,args[0]表示需要绑定的账号信息,args[1]为需要给账号添加的tags(标签)和alias(别名)组合成json各式数据
例如:["giterlab","{"tag_key":1,"tag_value":["giter","lab"],"alias":"labgiter"}"]
tag_key 目标类型,1:本设备;2:本设备绑定账号;3:别名
tag_value 标签(数组输入)
alias 别名(仅当tag_key = 3时生效)
tag_key 目标类型,1:本设备;2:本设备绑定账号;3:别名
tag_value 标签(数组输入)
其中tag_key,tag_value,alias为json的key,不能更改!!
android系统绑定账号信息接口,其中args为参数数组,只接受一个参数,格式: ["gitlab"]
android系统绑定标签别名信息,其中args为参数数组,只接受一个参数,格式: ["{"tag_key":1,"tag_value":["giter","lab"],"alias":"labgiter"}"]
tag_key 目标类型,1:本设备;2:本设备绑定账号;3:别名
tag_value 标签(数组输入)
alias 别名(仅当tag_key = 3时生效)
tag_key 目标类型,1:本设备;2:本设备绑定账号;3:别名
tag_value 标签(数组输入)
android系统解绑账号接口
android系统解绑标签和别名接口,其中args为参数数组,只接受一个参数,格式同绑定标签和别名参数
android系统获取设备ID接口,结果在回调函数中以参数形式返回
android系统获取标签接口,其中args为参数数组,只接受一个参数,格式: ["{"tag_key":1}"]
android获取别名接口,结果在回调函数的参数中返回
android移除别名接口,其中args为参数数组,只接受一个参数,格式: ["gitlab"]
android设置通知声音接口接口,其中args为参数数组,只接受一个参数,格式: ["R.raw.alicloud_notification_sound"]
android设置通知栏图标接口,其中args为参数数组,只接受一个参数,格式: ["R.drawable.alicloud_notification_largelcon"]
android设置通知栏图标接口,其中args为参数数组,只接受一个参数,格式: [1]
android设置免打扰时间段接口,其中args为参数数组,只接受一个参数,格式: [13,47,15,50] 其中args[0]为开始的小时,args[1]为开始的分钟,args[2]为结束的小时,args[3]为结束的分钟
android关闭免打扰接口
android删除免打扰接口
android设置通知手机短信提醒的接口(仅限于使用了阿里云短信推送的开发者),args为参数数组,只接受一个参数,格式: ["1313***8503"]
android解绑手机短信通知接口
android接受消息通道接口,结果以回调参数形式返回,(数据格式与iOS不同)
android处理用户点击通知回调,结果以回调参数形式返回,(数据格式与iOS不同)
iOS接口(具体可参考)
iOS系统初始化阿里云推送调用接口,success,fail分别为成功和失败的回调函数
iOS绑定信息调用接口,同上androidBand
iOS系统绑定账号信息接口,其中args为参数数组,只接受一个参数,格式: ["gitlab"]
iOS系统绑定标签别名信息,其中args为参数数组,只接受一个参数,格式: ["{"tag_key":1,"tag_value":["giter","lab"],"alias":"labgiter"}"]
tag_key 目标类型,1:本设备;2:本设备绑定账号;3:别名
tag_value 标签(数组输入)
alias 别名(仅当tag_key = 3时生效)
tag_key 目标类型,1:本设备;2:本设备绑定账号;3:别名
tag_value 标签(数组输入)
iOS系统解绑账号接口
iOS系统解绑标签和别名接口,其中args为参数数组,只接受一个参数,格式同绑定标签和别名参数
iOS系统获取设备ID接口,结果在回调函数中以参数形式返回
iOS系统获取标签接口,其中args为参数数组,只接受一个参数,格式: ["{"tag_key":1}"]
iOS获取别名接口,结果在回调函数的参数中返回
iOS移除别名接口,其中args为参数数组,只接受一个参数,格式: ["gitlab"]
iOS接受消息通道,结果以回调参数形式返回,(数据格式与android不同)
iOS处理用户点击通知回调,(数据格式与android不同)
如上图所示在项目TARGETS中在capabilities中打开Push Notifications
如上图所示在项目Build Setting中,Other Linker Flags加上-ObjC标签
上图中在init(this);方法下面打开注释的三行即打开了小米华为的辅助推送通道,关于小米、华为开发者账号的注册请参照:
移动辅助通道配置
小米开发者账号注册:小米开放平台
华为开发者账号注册:华为开发者联盟
FCM推送平台注册:FCM推送平台