Tpns Push Plus

/ Title: tpnsPushPlus Description: 腾讯信鸽厂商推送 /

来自于:770104707@qq.com立即使用

概述

腾讯信鸽厂商推送简介

移动推送 TPNS(Tencent Push Notification Service)为应用提供合法合规、消息通道稳定、消息高效秒达、全球服务覆盖的消息推送服务,已稳定服务腾讯游戏、腾讯视频等超高日活应用;支持App推送、应用内消息、智能短信等多种消息类型,有效提升用户活跃度。

tpnsPushPlus 模块概述

本模块封装了腾讯信鸽厂商推送的原生 SDK,集成了App推送相关功能;

模块使用攻略

使用之前须从腾讯信鸽厂商推送平台申请开发者账号并创建应用,开通广告服务。

腾讯信鸽厂商推送申请地址腾讯信鸽厂商推送

模块依赖

  • 注意:

1.使用本模块需要上传【hmsCore】扩展模块包,配合使用(【自定义模块教程】)

2.如遇见其他问题请联系QQ:770104707

使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:

  • 名称:tpnsPushPlus
  • 参数:android_appId、ios_appId
  • 配置示例:

    <preference name="backgroundMode" value="remote-notification"/>

    <!-- 腾讯tpns 推送 start-->
    <intent-filter>
        <action name="android.intent.action.VIEW" />
        <category name="android.intent.category.DEFAULT"/>
        <data scheme="[android-scheme]" host="[android-包名]" path="/tpnspushplus" />
    </intent-filter>

    <!-- 该产品的服务接入点   -->
    <!-- 空 默认广州  tpns.tencent.com-->
    <!-- 上海:tpns.sh.tencent.com -->
    <!-- 新加坡:tpns.sgp.tencent.com -->
    <!-- 中国香港:tpns.hk.tencent.com -->
    <meta-data name="XG_SERVER_SUFFIX" value="tpns.tencent.com"/>

    <!-- 华为配置 -->
    <meta-data name="com.huawei.hms.client.appid" value="appid=102********601"/>

    <!-- vivo配置 -->
    <meta-data name="com.vivo.push.app_id" value="104********329"/>
    <meta-data name="com.vivo.push.api_key" value="0307d2e71********9c72e7bc404cd"/>

    <feature name="tpnsPushPlus">

        <!--信鸽 andorid-->
        <param name="android_accessId" value="158********7" />
        <param name="android_accessKey" value="AQX********BXY" />

        <!-- oppo配置  -->
        <param name="OppoPushAppId" value="303********18" />
        <param name="OppoPushAppKey" value="00c3e********7641d988042" />
        <!-- 魅族 -->
        <param name="MzPushAppId" value="14********42" />
        <param name="MzPushAppKey" value="d7d2de2ce********f2af946679" />
        <!-- 小米 -->
        <param name="MiPushAppId" value="288230********8525806" />
        <param name="MiPushAppKey" value="5791********6806" />

        <!--信鸽 ios-->
        <param name="ios_accessId" value="158********27" />
        <param name="ios_accessKey" value="AQ********BXY" />
        <!-- 该产品的服务接入点   -->
        <!-- 空 默认广州  tpns.tencent.com-->
        <!-- 上海:tpns.sh.tencent.com -->
        <!-- 新加坡:tpns.sgp.tencent.com -->
        <!-- 中国香港:tpns.hk.tencent.com -->
        <param name="ios_domainName" value="tpns.tencent.com" />

    </feature>

模块接口

initSdk

sdk 初始化

initSdk({params},callback(ret, err))

params

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    eventType: 'onInit', //事件类型 
    msg: "onInitSdk",//描述
    result:{ //其他结果数据
        version:"3.8.0" //sdk 版本号
    }
}

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.initSdk({

},function(ret, err) {
    if (ret.status) {
        alert("sdk 初始化成功");
    } else {
        alert('sdk 初始化失败');
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

registerPush

设备注册

registerPush({params}, callback(ret, err))

params

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.registerPush({

}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

unregisterPush

设备反注册

unregisterPush({params}, callback(ret, err))

params

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.unregisterPush({

}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getToken

获取 Token

getToken({params}, callback(ret, err))

params

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    eventType: 'getToken', //事件类型 
    msg: "getToken",//描述
    result:{ //其他结果数据
        token:"" //token 
    }
}

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.getToken({

}, function(ret, err) {
    if(ret.status){
        var result = ret.result;
        //token
        var token = result.token;
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setEventListener

事件监听

setEventListener({params}, callback(ret, err))

params

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    eventType: 'setEventListener', //事件类型 
    msg: "setEventListener",//描述
    result:{ //其他结果数据

    }
}

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.setEventListener({

}, function(ret, err) {
    if(ret.status){
        var result = ret.result;

        if(ret.eventType == "onTextMessage"){
            //接收透传消息

        }

        if(ret.eventType == "onNotificationShowedResult"){
            //通知展示结果

        }

        if(ret.eventType == "onNotificationClickedResult"){
            //获取通知点击结果

        }

        if(ret.eventType == "onRegisterResult"){
            //推送注册结果

        }

        if(ret.eventType == "onUnregisterResult"){
            //推送反注册结果

        }

        if(ret.eventType == "onSetTagResult"){
            //设置标签结果

        }

        if(ret.eventType == "onQueryTagsResult"){
            //查询属性结果

        }

        if(ret.eventType == "onDeleteTagResult"){
            //删除标签结果

        }

        if(ret.eventType == "onClearAndAppendTagsResult"){
            //清除并更新标签结果(ios)

        }

        if(ret.eventType == "onClearTagsResult"){
            //清除所有标签结果(ios)

        }

        if(ret.eventType == "onSetAccountResult"){
            //设置账号结果

        }

        if(ret.eventType == "onDeleteAccountResult"){
            //删除账号结果

        }

        if(ret.eventType == "onClearAndAppendAttributesResult"){
            //清除并更新属性结果(ios)

        }

        if(ret.eventType == "onClearAccountResult"){
            //清除所有属性结果(ios)

        }

        if(ret.eventType == "onSetAttributeResult"){
            //设置属性结果

        }

        if(ret.eventType == "onDeleteAttributeResult"){
            //删除属性结果

        }

        if(ret.eventType == "onClearAndAppendAttributesResult"){
            //清除并更新属性结果(ios)

        }

        if(ret.eventType == "onClearAttributesResult"){
            //清除所有属性结果(ios)

        }
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

upsertPhoneNumber

添加手机号

upsertPhoneNumber({params}, callback(ret, err))

params

phoneCode

  • 类型:字符串
  • 描述:(选填)手机号区号 (默认 +86)

phoneNumber

  • 类型:字符串
  • 描述:(必填)手机号码

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.upsertPhoneNumber({
    phoneCode:"+86"
    phoneNumber: "",
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

upsertAccounts

添加账号

upsertAccounts({params}, callback(ret, err))

params

accounts

  • 类型:数组
  • 描述:(必填)账号及账号类型数组

      {"0":"news","991":"770104707"},
    
      accountType: 
    
      UNKNOWN(0),
      CUSTOM(1),
      TAID(989),
      QIMEI(990),
      QQ(991),
      QQMD5(992),
      IDFA(993),
      IDFMD5(994),
      MAC(995),
      MACMDS(996),
      OAID(997),
      OAIDMD5(998),
      UNIONID(999),
      IMEI(1000),
      IMEIMD5(1001),
      PHONE_NUMBER(1002),
      WX_OPEN_ID(1003),
      QQ_OPEN_ID(1004),
      EMAIL(1005),
      SINA_WEIBO(1006),
      ALIPAY(1007),
      TAOBAO(1008),
      DOUBAN(1009),
      FACEBOOK(1010),
      TWITTER(1011),
      GOOGLE(1012),
      BAIDU(1013),
      JINGDONG(1014),
      LINKEDIN(1015);
    

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.upsertAccounts({
    accounts:[
        {accountType:"",account:""},
        {accountType:"",account:""}
    ],
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

delAccounts

删除账号

delAccounts({params}, callback(ret, err))

params

accountTypes

  • 类型:数组
  • 描述:(必填)标签数组

      ["0" , "991"]
    
      accountType: 
    
      UNKNOWN(0),
      CUSTOM(1),
      TAID(989),
      QIMEI(990),
      QQ(991),
      QQMD5(992),
      IDFA(993),
      IDFMD5(994),
      MAC(995),
      MACMDS(996),
      OAID(997),
      OAIDMD5(998),
      UNIONID(999),
      IMEI(1000),
      IMEIMD5(1001),
      PHONE_NUMBER(1002),
      WX_OPEN_ID(1003),
      QQ_OPEN_ID(1004),
      EMAIL(1005),
      SINA_WEIBO(1006),
      ALIPAY(1007),
      TAOBAO(1008),
      DOUBAN(1009),
      FACEBOOK(1010),
      TWITTER(1011),
      GOOGLE(1012),
      BAIDU(1013),
      JINGDONG(1014),
      LINKEDIN(1015);
    

    callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.delAccounts({
    accountTypes:["0","991"],
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearAccounts

清空所有账号

clearAccounts({params}, callback(ret, err))

params

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.clearAccounts({

}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

appendTags

新增多个标签

appendTags({params}, callback(ret, err))

params

tags

  • 类型:数组
  • 描述:(必填)标签数组
      [
          "tag1","tag2","tag3"
      ]
    

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.appendTags({
    tags:["tag1","tag2","tag3"]
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

queryTags

查询标签

queryTags({params}, callback(ret, err))

params

pageIndex

  • 类型:整型
  • 描述:(选填)页码 (默认:1)

pageSize

  • 类型:整型
  • 描述:(选填)每页条数 (默认:100)

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.appendTags({
    pageIndex:1,
    pageSize:20
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

delTags

删除标签

delTags({params}, callback(ret, err))

params

tags

  • 类型:数组
  • 描述:(必填)标签数组
      [
          "tag1","tag2","tag3"
      ]
    

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.delTags({
    tags:["tag1","tag2","tag3"]
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearAndAppendTags

覆盖多个标签

clearAndAppendTags({params}, callback(ret, err))

params

tags

  • 类型:数组
  • 描述:(必填)标签数组
      [
          "tag1","tag2","tag3"
      ]
    

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.clearAndAppendTags({
    tags:["tag1","tag2","tag3"]
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearTags

清除所有标签

clearTags({params}, callback(ret, err))

params

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.clearTags({

}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

upsertAttributes

新增用户属性

upsertAttributes({params}, callback(ret, err))

params

attributes

  • 类型:对象
  • 描述:(必填)属性
      {
          key1:"value1",
          key2:"value2"
      }
    

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.upsertAttributes({
    attributes:{
        key1:"value1",
        key2:"value2"
    }
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

delAttributes

删除用户属性

delAttributes({params}, callback(ret, err))

params

attributeKeys

  • 类型:数组
  • 描述:(必填)属性KEY
      [
          "key1","key2"
      ]
    

    callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.delAttributes({
    attributeKeys:["key1","key2"],
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearAndAppendAttributes

更新用户属性

clearAndAppendAttributes({params}, callback(ret, err))

params

attributes

  • 类型:对象
  • 描述:(必填)属性
      {
          key1:"value1",
          key2:"value2"
      }
    

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.clearAndAppendAttributes({
    attributes:{
        key1:"value1",
        key2:"value2"
    }
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearAttributes

清空已有用户属性

clearTags({params}, callback(ret, err))

params

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.clearAttributes({

}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addLocalNotification

添加本地通知

addLocalNotification({params}, callback(ret, err))

params

title

  • 类型:字符串
  • 描述:(选填)标题

body

  • 类型:字符串
  • 描述:(必填)内容

params

  • 类型:对象
  • 描述:(必填)参数
      {
          key1:"value1",
          key2:"value2"
      }
    

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.addLocalNotification({
    title:"Test title",
    body:"Test body",
    params:{
        key1:"value1",
        key2:"value2"
    }
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearLocalNotifications

清除本地通知

clearLocalNotifications({params}, callback(ret, err))

params

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.clearLocalNotifications({

}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelAllNotifaction

清除所有通知

cancelAllNotifiaction({params}, callback(ret, err))

params

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.cancelAllNotifiaction({

}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setBadge

设置角标

setBadge({params}, callback(ret, err))

params

badgeNumber

  • 类型:整型
  • 描述:(必填)角标数【最终显示的数值】

callback(ret, err)

示例代码

var tpnsPushPlus = api.require('tpnsPushPlus');
tpnsPushPlus.setBadge({
    badgeNumber:1,
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本