apicloud apicloud

注册
查看: 774|回复: 5

[模块教程] 腾讯信鸽推送分享

官方版主

UID:791051

主题:
20
帖子:
19657
云币:
5910

端午节

[模块教程] 腾讯信鸽推送分享

774 5 | 发表于 2019-7-30 09:20:50 |阅读模式 | |
本帖最后由 yxWin 于 2019-7-30 09:22 编辑

模块  tencentPush
概述:本模块封装腾讯信鸽推送的SDK,只需要1行代码便可实现免费、实时、专业的推送功能,支持通知、消息透传、本地通知、账号绑定、默认标签等,目前支持Android,iOS平台。
模块使用
使用本模块之前,需要先配置config文件的Feature,见下
Android:
名称:tencentPush
参数:urlScheme
描述:配置腾讯信鸽用于标识APP身份的accessId和accessKey,需要事先在信鸽官方注册,网址http://xg.qq.com/?ADTAG=EXTERNAL.PLATFORM.APICLOUD
配置示例:
<feature name="tencentPush">          <param name="android_accessId" value="2100064624" />         
<param name="android_accessKey" value="AZ4EZQ533X9A" />  
</feature>
字段描述:
1.param-urlScheme:声明此字段为URL Scheme类型  2.param-value:对应urlScheme类型的值。通过腾讯信鸽官方网站申请         
A)android_accessId:信鸽Android平台的accessId,21开头的Int类型         
B)android_accessKey:信鸽Android平台的accessKey,A开头的字符串
iOS:
名称:tencentPush
参数:urlScheme
描述:配置腾讯信鸽用于标识APP身份的accessId和accessKey,需要事先在信鸽官方注册
配置示例:
<feature name="tencentPush">         
<param name="ios_accessId" value="2100064624" />         
<param name="ios_accessKey" value="AZ4EZQ533X9A" />  
</feature>
字段描述:
1.param-urlScheme:声明此字段为URL Scheme类型  2.param-value:对应urlScheme类型的值。通过腾讯信鸽官方网站申请         
A)ios_accessId:信鸽iOS平台的accessId,21开头的Int类型         
B)ios_accessKey:信鸽iOS平台的accessKey,A开头的字符串
accessId和accessKey的申请
登陆 http://xg.qq.com/?ADTAG=EXTERNAL.PLATFORM.APICLOUD
新建自己的项目,查看项目配置
accessId和accessKey配置到config.xml里

然后就可以完善代码了
主要代码
function resultCallback() {
      // 注册设备并绑定用户账号
      api.require('tencentPush').registerPush(function(ret, err) {
          if (ret.status) {
              alert("注册成功,token为:" + ret.token);
              console.log(ret.token);
          } else {
              alert("注册失败,错误码:" + err.code + ",错误信息:" + err.msg);
          }
      });
    }
    //打开调试
    function config() {
      var tencentPush = api.require('tencentPush');
      var param = {debug:true};
      tencentPush.config(param);
    }
    // 反注册设备
    function unregisterPush(){
      var tencentPush = api.require('tencentPush');
      var resultCallback = function(ret, err) {
          if (ret.status) {
              alert("反注册成功,token:" + ret.token);
          } else {
              alert("反注册失败,错误码:" + err.code + ",错误信息:" + err.msg);
          }
      };
      tencentPush.unregisterPush(resultCallback);
    }
    function setTag(){
        // 设置标签
        var tencentPush = api.require('tencentPush');
        var resultCallback = function(ret, err) {
            if (ret.status) {
                alert("标签设置成功,标签名:" + ret.tag);
            } else {
                alert("标签设置失败,错误码:" + err.code + ",错误信息:" + err.msg);
            }
        };
        var param = { tag: "tagName" };
        tencentPush.setTag(param, resultCallback);
    }
    //删除标签
    function delTag() {
      var tencentPush = api.require('tencentPush');
      var resultCallback = function(ret, err) {
          if (ret.status) {
              alert("标签删除成功,标签名:" + ret.tag);
          } else {
              alert("标签删除失败,错误码:" + err.code + ",错误信息:" + err.msg);
          }
      };
      var param = { tag: "tagName" };
      tencentPush.delTag(param, resultCallback);
    }
    //添加本地通知
    function  addlocalNotification(){
      var tencentPush = api.require('tencentPush');
      var params = {
          title: "title",                           // 标题
          content: "test content",                  // 内容
          date: "20150127",                         // 日期
          hour: "15",                               // 时间
          min: "15",                                // 分钟
          customContent: "{\"key\":\"value\"}",     // 自定义key-value
          activity: "",                             // 打开的activity
          ring: 1,                                  // 是否响铃
          vibrate: 1                                // 是否振动
      };
      var resultCallback = function(ret, err) {
          if (ret.status) {
              alert("添加通知成功,通知id:" + ret.notiId);
          } else {
              alert("添加本地通知失败,错误码:" + err.code + ",错误信息:" + err.msg);
          }
      };
      tencentPush.addlocalNotification(params, resultCallback);
    }
    //删除本地通知
    function clearLocalNotifications(){
      var tencentPush = api.require('tencentPush');
      tencentPush.clearLocalNotifications();
    }


    //从状态栏清除
    function cancelNotifaction(){
      var tencentPush = api.require('tencentPush');
      var params = {nid: -1};
      tencentPush.cancelNotifaction({params});
    }


    //接收透传
    function setListener(){
      var tencentPush = api.require('tencentPush');
      var resultCallback = function(ret, err) {
          alert("收到透传消息,title:" + ret.title + ",content:" + ret.content +
              ",customContent:" + ret.customContent);
      };
      var params = { name: "message" };
      tencentPush.setListener(params, resultCallback);
    }



将代码同步云端编译,到推送平台创建推送消息,手机收到了一条消息(不过有点慢,等了一会才收到)。






demo
[url=]tencentpush.zip[/url]
如有bug请点击回复指出,谢谢!!

本帖子中包含更多资源    您需要 登录 才可以下载或查看,没有帐号?立即注册

主题:
6
帖子:
23
云币:
30
发表于 2019-10-29 17:59:50 |
这个推送的信息,是tencentPush后台写的吗?

官方版主

UID:791051

主题:
20
帖子:
19657
云币:
5910

端午节

 楼主| 发表于 2019-10-29 18:01:45 |
Holle三胖 发表于 2019-10-29 17:59
这个推送的信息,是tencentPush后台写的吗?

是的 ,

主题:
6
帖子:
23
云币:
30
发表于 2019-10-29 18:03:59 |

好的,明白了,谢谢

官方版主

UID:791051

主题:
20
帖子:
19657
云币:
5910

端午节

 楼主| 发表于 2019-10-29 18:08:25 |
Holle三胖 发表于 2019-10-29 18:03
好的,明白了,谢谢

这个模块很久没更新,建议使用其他的推送 比如 极光 ali

驾校小白

UID:128685

主题:
4
帖子:
28
云币:
52
发表于 2019-11-2 13:29:26 |
该推送IOS  更本不好使,建议修改支持平台
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表