cordova-plugin-tpns/README.md

3.5 KiB


title: Tpns

description: 腾讯移动推送插件


cordova-plugin-tpns

腾讯移动推送插件

Installation

 cordova plugin add git+https://m.shuto.cn:8681/public/cordova-plugin-tpns.git --variable XG_ACCESS_ID=${XG_ACCESS_ID} --variable XG_ACCESS_KEY=${XG_ACCESS_KEY}

Params

参数 说明 默认值 是否必须
XG_ACCESS_ID 腾讯移动推送accessID
XG_ACCESS_KEY 腾讯移动推送accessKey
VIVO_APPID vivo厂商通道appid VIVO_APPID
VIVO_APPKEY vivo厂商通道appkey VIVO_APPKEY
HONOR_APPID 荣耀厂商通道appid HONOR_APPID
XG_SERVER_SUFFIX 腾讯移动推服务接入点 tpns.tencent.com

接入点值

  • 广州:tpns.tencent.com

  • 上海:tpns.sh.tencent.com

  • 新加坡:tpns.sgp.tencent.com

  • 中国香港:tpns.hk.tencent.com

Supported Platforms

  • Android

当前版本暂不支持华为的厂商通道

Get Started

Usage

1.注册推送服务
/**
 * 注册消息推送
 * @param {*} other 厂商通道? 为空时不开启 格式如下:
 * {
 *  "MZ":{"APP_ID":魅族APP_ID,"APP_KEY":魅族APP_KEY},
 *  "OPPO":{"appKey":OPPO appKey,"appSecret": OPPO appSecret},
 *  "MI":{"APPID":小米APPID,"APPKEY":小米APPKEY},
 *  "HW":{},"RY":{}
 * }
 * @param {*} successCallback 
 * @param {*} errorCallback 
 */
Tpns.registerPush(null,function(token){
    //TODO 获取到TPNS的token之后的操作
},console.error);
2. 绑定账号信息
/**
 *  添加或更新账号。若原来没有该类型账号,则添加;若原来有,则覆盖。可以同时添加多个账号,一个账号对应一个账号类型。
 * @param {*} params 账户数组[{"account":elva, "accountType":1001}, {"account":jay, "accountType":1002}]
 * @param {*} successCallback 
 * @param {*} errorCallback 
 */
Tpns.upsertAccounts([{
"account":elva, "accountType":1001
}],console.log,console.error);
3. 绑定标签
/**
 *  覆盖多个标签 一次设置多个标签,会覆盖这个设备之前设置的标签。
 * @param {*} operateName 操作名称 全局唯一,类似于全局序列
 * @param {*} tags 标签数组["tag1","tag2"]
 * @param {*} successCallback 
 * @param {*} errorCallback 
 */
Tpns.clearAndAppendTags(new nanoId(),['tag1','tag2'],console.log,console.error);
4. 事件监听
// 接收消息事件
document.addEventListener(Tpns.Constant.EVENT_ON_TEXT_MESSAGE,function(event){
    console.log("接收到消息:",event);
});

// 已显示通知
document.addEventListener(Tpns.Constant.EVENT_ON_NOTIFICATION_SHOWED_RESULT,function(event){
    console.log("已显示通知:",event);
});

// 消息点击事件
document.addEventListener(Tpns.Constant.EVENT_ON_NOTIFICATION_CLICKED_RESULT,function(event){
    console.log("消息点击事件:",event);
});
5. 设置角标
/**
 * 设置角标
 * @param {*} num 角标数量
 * @param {*} successCallback 
 * @param {*} errorCallback 
 */
Tpns.setBadgeNum(1,console.log,console.error);
6. 清除角标
/**
 * 清除角标
 * @param {*} successCallback 
 * @param {*} errorCallback 
 */
Tpns.resetBadgeNum(console.log,console.error);
其他方法参考js注释