setApplicationBadgeNumber getApplicationBadgeNumber getToken addEventlistener removeEventListener upsertAccount upsertPhoneNumber delAccounts clearAccounts appendTags delTags clearAndAppendTags clearTags queryTags upsertAttributes delAttributes clearAndAppendAttributes clearAttributes uploadLog clearTPNSCache getSdkVersion createNotificationChannel enablePullUpOtherApp cancelAllNotifaction configMiPush configMeiZuPush configOppoPush configHonorPush unregisterPush
本插件封装了腾讯移动推送SDK。腾讯云移动推送为应用提供合法合规、消息通道稳定、消息高效秒达、全球服务覆盖的推送服务,支持 App 推送、应用内消息等多种消息推送类型,同时具备标签化精准推送能力,有效助力App的精细化运营,提升用户活跃度。
##开通流程
1、注册腾讯云账号,详情参见 <注册腾讯云> https://mc.tencent.com/M0wcfln0 教程。
2、新增产品
(1)登录 <移动推送控制台> https://mc.tencent.com/7FWgKPIx ,单击左侧菜单栏【产品管理】。
(2)进入产品管理页面,单击【新增产品】。
(3)进入新增产品页面,填写产品名称、产品详情、选择产品分类和服务接入点,服务接入点说明参见文档 <全球化部署> https://mc.tencent.com/G9m95DXK
(4)勾选下方 Android、iOS、macOS 时,系统将默认为您创建该平台下的应用。使用 YonBuilder移动开发 开发时仅勾选Android、iOS即可。
使用此插件之前需先配置 config.xml 文件,方法如下
//IOS配置
<feature name="tpns">
<param name="accessID_iOS" value=""/>
<param name="accessKey_iOS" value=""/>
</feature>
//Android配置:
//<!--腾讯推送start [TPNS控制台](https://console.cloud.tencent.com/tpns) -->
<meta-data name="XG_V2_ACCESS_ID" value="AccessId"/>
<meta-data name="XG_V2_ACCESS_KEY" value="AccessKey" />
// <!-- 腾讯推送 end -->
// <!--vivo start ->
// [vivo 通道接入](https://cloud.tencent.com/document/product/548/36657)
<meta-data name="com.vivo.push.api_key" value="VIVO的APPKEY" />
<meta-data name="com.vivo.push.app_id" value="VIVO的APPID" />
// <!-- vivo end -->
// <!--honor start ->
// [honor 通道接入](https://cloud.tencent.com/document/product/548/74465)
<meta-data android:name="com.hihonor.push.app_id" android:value="荣耀推送的 AppId"/>
// <!-- honor end -->
//华为通道暂不支持
// 服务接入点域名配置,如果您的应用服务接入点为广州,SDK 默认实现该配置。[其他服务接入点域名参考](https://cloud.tencent.com/document/product/548/36652)
如:
<meta-data name="XG_SERVER_SUFFIX" value="tpns.sh.tencent.com" />
调用此接口上报当前 App 角标数到腾讯移动推送服务器,客户端配置完成即可使用“ 角标自动加1”的功能,此功能在管理台位置(创建推送 > 通知栏消息 > 常用设置 > 角标数字)。
setBadge({params})
badge
var tpns = api.require('tpns');
tpns.setBadge({
badge:0
});
iOS系统,Android系统不支持
可提供的1.0.0及更高版本
设置 App 显示的角标数量。
setApplicationBadgeNumber({params})
badge
var tpns = api.require('tpns');
tpns.setApplicationBadgeNumber({
badge:0
});
iOS系统,Android系统不支持
可提供的1.0.0及更高版本
获取 App 显示的角标数量。
getApplicationBadgeNumber(callback(ret))
ret:
{
badge:0 //数字类型;角标数
}
var tpns = api.require('tpns');
tpns.getApplicationBadgeNumber(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统不支持
可提供的1.0.0及更高版本
设备注册,获取 token。
getToken(callback(ret,err))
ret:
{
token:'' //字符;token
}
err:
{
msg:'' //字符;msg
}
var tpns = api.require('tpns');
tpns.getToken(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
查询设备通知权限是否被用户允许。
deviceNotificationIsAllowed(callback(ret))
ret:
{
isAllowed:true //布尔类型;备通知权限是否被用户允许
}
var tpns = api.require('tpns');
tpns.deviceNotificationIsAllowed(function(ret) {
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
添加推送事件监听
addEventlistener(callback(ret))
ret:
{
eventType: '', //字符串类型;消息类型
msg:{}, //JSON类型;推送内容
status:true, //布尔类型;是否成功,除notification、clickNotification外,其他消息均返回
queryTags:{ //JSON类型;查询标签结果
tags:[], //数组类型;标签数组
totalCount:10, //数字类型;绑定的所有标签总数
},
upsertAccount:{ //JSON类型;绑定账号结果
accountsDict:{} //JSON类型;账号JSON
},
delAccounts:{ //JSON类型;绑定账号结果
accountsKeys:[] //数组类型;账号数组
},
appendTags:{ //JSON类型;绑定标签的结果
tags:[] //数组类型;标签数组
},
delTags:{ //JSON类型;解绑标签的结果
tags:[] //数组类型;标签数组
},
clearAndAppendTags:{ //JSON类型;更新标签的结果
tags:[] //数组类型;标签数组
},
upsertAttributes:{ //JSON类型;新增用户属性
attributes:{}, //JSON类型;用户属性JSON
keys:[], //数组类型;无效用户属性键的数组, 未在管理台配置
},
delAttributes:{ //JSON类型;删除用户已有的属性
attributeKeys:[], //数组类型;用户属性key组成的集合
keys:[], //数组类型;无效用户属性键的数组, 未在管理台配置
},
clearAndAppendAttributes:{ //JSON类型;清空已有用户属性,然后批量添加用户属性
attributes:{}, //JSON类型;用户属性JSON
keys:[], //数组类型;无效用户属性键的数组, 未在管理台配置
},
}
eventType:
var tpns = api.require('tpns');
tpns.addEventlistener(function(ret) {
api.alert({msg: JSON.stringify(ret)});
});
iOS 系统,Android系统
可提供的1.0.0及更高版本
移除推送事件监听
removeEventListener()
var tpns = api.require('tpns');
tpns.removeEventListener();
iOS 系统,Android系统
可提供的1.0.0及更高版本
添加或更新账号,若原来没有该类型账号,则添加;若原来有,则覆盖,账号类型和账号名称一起作为联合主键
upsertAccount({params})
account:
type
var tpns = api.require('tpns');
tpns.upsertAccount({
type:0,
account:''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
添加或更新用户手机号,若原来没有该手机号,则添加;若原来有,则覆盖
upsertPhoneNumber({params})
phoneNumber:
type
var tpns = api.require('tpns');
tpns.upsertPhoneNumber({
phoneNumber:''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
删除指定账号类型下的所有账号
delAccounts({params})
types
var tpns = api.require('tpns');
tpns.delAccounts({
types:[0,1002]
});
iOS系统,Android系统
可提供的1.0.0及更高版本
清空已有账号
clearAccounts()
var tpns = api.require('tpns');
tpns.clearAccounts();
iOS系统,Android系统
可提供的1.0.0及更高版本
添加标签
appendTags({params})
tags:
var tpns = api.require('tpns');
tpns.appendTags({
tags:[]
});
iOS系统,Android系统
可提供的1.0.0及更高版本
删除标签
delTags({params})
tags:
var tpns = api.require('tpns');
tpns.delTags({
tags:[]
});
iOS系统,Android系统
可提供的1.0.0及更高版本
清空已有标签,然后批量添加标签
clearAndAppendTags({params})
tags:
var tpns = api.require('tpns');
tpns.clearAndAppendTags({
tags:[]
});
iOS系统,Android系统
可提供的1.0.0及更高版本
清空已有标签
clearTags()
var tpns = api.require('tpns');
tpns.clearTags();
iOS系统,Android系统
可提供的1.0.0及更高版本
查询当前设备(tpns token为准)绑定的标签
queryTags({params})
offset:
limit:
var tpns = api.require('tpns');
tpns.queryTags({
offset:0,
limit:10
});
iOS系统,Android系统
可提供的1.0.0及更高版本
添加或更新用户属性,需要先在管理台配置用户属性的键,才能操作成功
upsertAttributes({params})
attributes:
var tpns = api.require('tpns');
tpns.upsertAttributes({
attributes:{}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
删除用户属性,需要先在管理台配置用户属性的键,才能操作成功
delAttributes({params})
keys:
var tpns = api.require('tpns');
tpns.delAttributes({
keys:[]
});
iOS系统,Android系统
可提供的1.0.0及更高版本
清空已有用户属性,然后批量添加用户属性,需要先在管理台配置用户属性的键,才能操作成功
clearAndAppendAttributes({params})
attributes:
var tpns = api.require('tpns');
tpns.clearAndAppendAttributes({
attributes:{}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
清空已有用户属性
clearAttributes()
var tpns = api.require('tpns');
tpns.clearAttributes();
iOS系统,Android系统
可提供的1.0.0及更高版本
上报日志信息,回调参数可能会被触发多次,如果存在多个日志文件
uploadLog(callback(ret))
ret:
{
result:true,//布尔类型;上传成功为true, 失败为false
message:'',//字符串类型;如果上传成功,则返回日志文件地址。如果上传失败,则返回错误信息
}
var tpns = api.require('tpns');
tpns.uploadLog(function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
清除TPNS缓存
clearTPNSCache(callback(ret))
ret:
{
status:true, //布尔类型;清除结果
}
var tpns = api.require('tpns');
tpns.clearTPNSCache(function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统不支持
可提供的1.0.0及更高版本
获取sdk版本号
getSdkVersion(callback(ret))
ret:
{
sdkVersion:'', //字符串类型;sdk版本号
}
var tpns = api.require('tpns');
tpns.getSdkVersion(function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统不支持
可提供的1.0.0及更高版本
创建通知渠道
createNotificationChannel({params})
channelId:
channelName:
enableVibration:
enableLights:
var tpns = api.require('tpns');
tpns.createNotificationChannel({
channelId:"",
channelName:""
});
仅Adroid系统支持
可提供的1.0.0及更高版本
清除通知栏上所有通知
cancelAllNotifaction()
var tpns = api.require('tpns');
tpns.cancelAllNotifaction();
仅Adroid系统支持
可提供的1.0.0及更高版本
是否开启联合能力。联合保活能力,会导致 App 之间存在关联启动或 App 自启动。为满足监管新规,您可关闭联合保活功能。
enablePullUpOtherApp({params})
pullUp:
var tpns = api.require('tpns');
tpns.enablePullUpOtherApp({
pullUp:false
});
仅Adroid系统支持
可提供的1.0.0及更高版本
配置开启小米推送
configMiPush({params})
appId:
appKey:
var tpns = api.require('tpns');
tpns.configMiPush({
appId:"",
appKey:""
});
仅Adroid系统支持
可提供的1.0.0及更高版本
配置开启魅族推送
configMeiZuPush({params})
appId:
appKey:
var tpns = api.require('tpns');
tpns.configMeiZuPush({
appId:"",
appKey:""
});
仅Adroid系统支持
可提供的1.0.0及更高版本
配置开启Oppo推送
configOppoPush({params})
appKey:
appSecret:
var tpns = api.require('tpns');
tpns.configOppoPush({
appKey:"",
appSecret:""
});
仅Adroid系统支持
可提供的1.0.0及更高版本
配置开启Honor推送
configHonorPush()
var tpns = api.require('tpns');
tpns.configHonorPush();
仅Adroid系统支持
可提供的1.0.0及更高版本
反注册,调用反注册接口后,需要重新调用注册接口才可接收到推送。
unregisterPush(callback(ret))
ret:
{
status:true/false //布尔类型;true反注册成功,false反注册失败
}
var tpns = api.require('tpns');
tpns.unregisterPush(function(ret) {
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.4及更高版本