*** title: Tpns description: 腾讯移动推送插件 *** # cordova-plugin-tpns 腾讯移动推送插件 ## Installation ```bash 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.注册推送服务 ```javascript /** * 注册消息推送 * @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. 绑定账号信息 ```javascript /** * 添加或更新账号。若原来没有该类型账号,则添加;若原来有,则覆盖。可以同时添加多个账号,一个账号对应一个账号类型。 * @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. 绑定标签 ```javascript /** * 覆盖多个标签 一次设置多个标签,会覆盖这个设备之前设置的标签。 * @param {*} operateName 操作名称 全局唯一,类似于全局序列 * @param {*} tags 标签数组["tag1","tag2"] * @param {*} successCallback * @param {*} errorCallback */ Tpns.clearAndAppendTags(new nanoId(),['tag1','tag2'],console.log,console.error); ``` ##### 4. 事件监听 ```javascript // 接收消息事件 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. 设置角标 ```javascript /** * 设置角标 * @param {*} num 角标数量 * @param {*} successCallback * @param {*} errorCallback */ Tpns.setBadgeNum(1,console.log,console.error); ``` ##### 6. 清除角标 ```javascript /** * 清除角标 * @param {*} successCallback * @param {*} errorCallback */ Tpns.resetBadgeNum(console.log,console.error); ``` ##### 其他方法参考js注释