tencentPush

config setTag addlocalNotification cancelNotifaction

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。

概述

本模块封装腾讯信鸽推送的SDK,只需要1行代码便可实现免费、实时、专业的推送功能,支持通知、消息透传、本地通知、账号绑定、默认标签等,目前支持Android,iOS平台。

本模块已停止更新。推送使用其他推送模块。

使用本模块之前,需要先配置config文件的Feature,见下

Android:
名称:tencentPush
参数:urlScheme
描述:配置腾讯信鸽用于标识APP身份的accessId和accessKey,需要事先在信鸽官方注册,网址

配置示例:

字段描述:

  1. 2.param-value:对应urlScheme类型的值。通过腾讯信鸽官方网站申请
  2. Aandroid_accessId:信鸽Android平台的accessId21开头的Int类型
  3. Bandroid_accessKey:信鸽Android平台的accessKeyA开头的字符串

iOS:
名称:tencentPush
参数:urlScheme
描述:配置腾讯信鸽用于标识APP身份的accessId和accessKey,需要事先在信鸽官方注册
配置示例:

  1. <feature name="tencentPush">
  2. <param name="ios_accessId" value="2100064624" />
  3. <param name="ios_accessKey" value="AZ4EZQ533X9A" />
  4. </feature>

字段描述:

  1. 1.param-urlScheme:声明此字段为URL Scheme类型
  2. 2.param-value:对应urlScheme类型的值。通过腾讯信鸽官方网站申请
  3. Aios_accessId:信鸽iOS平台的accessId21开头的Int类型
  4. Bios_accessKey:信鸽iOS平台的accessKeyA开头的字符串

// 具体细节见registerPush说明 // 若需要打开信鸽debug日志,见config说明

  1. api.require('tencentPush').registerPush(function(ret, err) {
  2. if (ret.status) {
  3. alert("注册成功,token为:" + ret.token);
  4. } else {
  5. alert("注册失败,错误码:" + err.code + ",错误信息:" + err.msg);
  6. }
  7. });

registerPush

向后台注册设备信息,使得该终端能够接收推送 本API根据不同的参数可以实现以下3个功能:

  • 将设备注册到信鸽后台
  • 注册设备并绑定账号(需要通过参数传递)
  • 注册设备并解除账号的绑定关系

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

params

  • 类型:字符串
  • 默认值: 无; 若为”*”表示取消账号绑定.
  • 描述: 注册设备时需要绑定的账号;若为空表示只注册设备不绑定账号.

callBack

ret

  • 类型:JSON 对象
  • 默认值: 无
  • 内部字段:
  1. status:true ,// 操作状态值,成功:true;失败:false token: "" // 操作成功后,返回设备的唯一标识符token;Android为40位长度字符串;
  2. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code:1001 //错误码(详见错误码常量)
  3. msg:"" //错误描述
  4. }

示例代码

  1. // 注册设备
  2. var tencentPush = api.require('tencentPush');
  3. var resultCallback = function(ret, err) {
  4. if (ret.status) {
  5. alert("注册成功,token为:" + ret.token);
  6. } else {
  7. alert("注册失败,错误码:" + err.code + ",错误信息:" + err.msg);
  8. }
  9. };
  10. tencentPush.registerPush(resultCallback);
  11. // 注册设备并绑定用户账号
  12. var tencentPush = api.require('tencentPush');
  13. var resultCallback = function(ret, err) {
  14. if (ret.status) {
  15. alert("注册成功,token为:" + ret.token);
  16. } else {
  17. alert("注册失败,错误码:" + err.code + ",错误信息:" + err.msg);
  18. }
  19. };
  20. // 需要绑定的账号,若为"*"表示解除之前的账号绑定
  21. var params = { account: "testAccount" };
  22. tencentPush.registerPush(params, resultCallback);
  23. var tencentPush = api.require('tencentPush');
  24. var resultCallback = function(ret, err) {
  25. if (ret.status) {
  26. alert("注册成功,token为:" + ret.token);
  27. } else {
  28. alert("注册失败,错误码:" + err.code + ",错误信息:" + err.msg);
  29. }
  30. };
  31. // 需要绑定的账号,若为"*"表示解除之前的账号绑定
  32. var params = { account: "*" };
  33. tencentPush.registerPush(params, resultCallback);

补充说明

  • registerPush实现设备在后台的注册,只要注册成功,便可接收推送;
  • registerPush可以多次调用;
  • 账号指的是APP本身的账号体系,可以是任意的字符串;只有绑定账号才能针对账号的推送;建议有登陆或自动登陆功能的APP在用户登陆时,绑定账号;
  • 一个设备一个应用只能绑定一个账号,若多个账号绑定,以最后一个绑定成功的为准;
  • 一个账号可以对应多个设备,最多10个;

可用性

iOS系统,Android系统
可提供的1.0.0及更高版本

config

配置相关的内容, 如是否打开调试模式.

config({params})

params

debug

  • 类型:布尔
  • 默认值: false
  • 描述: 是否打开信鸽debug;true:开启;false:关闭;上线时请保持关闭.

示例代码

补充说明

上线时请保持关闭.

可用性

Android系统

unregisterPush

向后台发送反注册包,将该设备从后台的注册信息表中删除,不再接收推送。

unregisterPush(callback(ret, err))

callBack

ret

  • 类型:JSON 对象
  • 默认值: 无
  • 内部字段:
  1. {
  2. status:true // 操作状态值,成功:true;失败:false
  3. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. code:1001, //错误码(详见错误码常量)
  3. msg:"" //错误描述
  4. }

示例代码

  1. // 反注册设备
  2. var tencentPush = api.require('tencentPush');
  3. var resultCallback = function(ret, err) {
  4. if (ret.status) {
  5. alert("反注册成功,token:" + ret.token);
  6. } else {
  7. alert("反注册失败,错误码:" + err.code + ",错误信息:" + err.msg);
  8. }
  9. };
  10. tencentPush.unregisterPush(resultCallback);

补充说明

反注册后,将不再接收任何的推送
iOS回调中不返回token

iOS系统,Android系统
可提供的1.0.0及更高版本

setTag

设置标签

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

params

tag

  • 类型:字符串
  • 默认值: 无
  • 描述: 待设置的标签名字,不能为空

callBack

ret

  • 类型:JSON 对象
  • 默认值: 无
  • 内部字段:
  1. {
  2. status:true, // 操作状态值,成功:true;失败:false
  3. tag:"" // 设置成功的标签名
  4. }
  • 类型:JSON 对象

内部字段:

  1. {
  2. code:1001, //错误码(详见错误码常量)
  3. msg:"" //错误描述
  4. }

示例代码

  1. // 设置标签
  2. var tencentPush = api.require('tencentPush');
  3. var resultCallback = function(ret, err) {
  4. if (ret.status) {
  5. alert("标签设置成功,标签名:" + ret.tag);
  6. } else {
  7. alert("标签设置失败,错误码:" + err.code + ",错误信息:" + err.msg);
  8. }
  9. };
  10. var param = { tag: "tagName" };
  11. tencentPush.setTag(param, resultCallback);

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

delTag

删除标签

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

params

tag

  • 类型:字符串
  • 描述: 待删除的标签名字,不能为空

callBack

ret

  • 类型:JSON 对象
  • 默认值: 无
  • 内部字段:
  1. {
  2. status:true, // 操作状态值,成功:true;失败:false
  3. tag:"" // 删除成功的标签名
  4. }

err:

  • 类型:JSON 对象

内部字段:

示例代码

  1. var tencentPush = api.require('tencentPush');
  2. var resultCallback = function(ret, err) {
  3. if (ret.status) {
  4. alert("标签删除成功,标签名:" + ret.tag);
  5. } else {
  6. alert("标签删除失败,错误码:" + err.code + ",错误信息:" + err.msg);
  7. }
  8. };
  9. var param = { tag: "tagName" };
  10. tencentPush.delTag(param, resultCallback);

可用性

iOS系统,Android系统

可提供的1.1.0及更高版本

addlocalNotification

添加本地通知

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

params

title

  • 类型:字符串
  • 默认值: 无
  • 描述: 通知栏中展示的通知标题,不能为空

content

  • 类型:字符串
  • 默认值: 无
  • 描述: 通知栏中展示的正文内容,不能为空

date

  • 类型:字符串
  • 默认值: 无
  • 描述: 通知展示的日期,格式YYYYMMDD,如”20150127”,不能为空

hour

  • 类型:字符串
  • 默认值: 无
  • 描述: 通知展示的时间,小时,格式HH,如”15”,不能为空
  • 类型:字符串
  • 默认值: 无
  • 描述: 通知展示的时间,分钟,格式MM,如”15”,不能为空

customContent

  • 类型:JSON字符串
  • 默认值: 无
  • 描述: 点击通知时,activity获取到的自定义key-value

activity

  • 类型:字符串
  • 默认值: 无
  • 描述: 待打开的activity,默认为lancher

ring

  • 类型:数字
  • 默认值: 1
  • 描述: 是否响铃,1:是;0:否

vibrate

  • 类型:数字
  • 默认值: 1
  • 描述: 是否振动,1:是;0:否

callBack

ret

  • 类型:JSON 对象
  • 默认值: 无
  • 内部字段:
  1. {
  2. status:true, // 操作状态值,成功:true;失败:false
  3. notiId: "" // 通知的id;
  4. }

err:

  • 类型:JSON 对象
  1. {
  2. code:-1, //错误码
  3. msg:"" //错误描述
  4. }

示例代码

  1. // 添加本地通知
  2. var tencentPush = api.require('tencentPush');
  3. var params = {
  4. title: "title", // 标题
  5. content: "test content", // 内容
  6. date: "20150127", // 日期
  7. hour: "15", // 时间
  8. min: "15", // 分钟
  9. customContent: "{\"key\":\"value\"}", // 自定义key-value
  10. activity: "", // 打开的activity
  11. ring: 1, // 是否响铃
  12. vibrate: 1 // 是否振动
  13. };
  14. var resultCallback = function(ret, err) {
  15. if (ret.status) {
  16. alert("添加通知成功,通知id:" + ret.notiId);
  17. } else {
  18. alert("添加本地通知失败,错误码:" + err.code + ",错误信息:" + err.msg);
  19. }
  20. };
  21. tencentPush.addlocalNotification(params, resultCallback);

iOS系统中可在params中增加sec字段来指定秒

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearLocalNotifications

删除本地通知

clearLocalNotifications()

示例代码

  1. // 删除本地通知
  2. var tencentPush = api.require('tencentPush');
  3. tencentPush.clearLocalNotifications();

补充说明

可用性

iOS系统,Android系统

可提供的1.1.0及更高版本

cancelNotifaction

在通知栏清除已展示的通知

cancelNotifaction({params})

params

nid

  • 类型:数字
  • 默认值: -1
  • 描述: 待清除的通知id号,-1表示清除所有的通知

示例代码

  1. // 清除展示的通知
  2. var tencentPush = api.require('tencentPush');
  3. var params = {nid: -1};
  4. tencentPush.cancelNotifaction({params});

补充说明

iOS系统中这个函数用于取消角标

可用性

iOS系统,Android系统

可提供的1.1.0及更高版本

setListener

设置JS的回调函数,一般只用于设置消息透传的回调。

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

params

  • 类型:字符串
  • 默认值: ”message”,取值具体见下

    • message:设置消息透传的回调
    • notifactionShow:设置通知被展示的回调
    • notifactionClick:设置通知被点击的回调
    • notifactionClear:设置通知被清除的回调
  • 描述: 设置回调函数,当操作发生时(通常是接收到透传消息,又称消息命令字)的回调接口

callback(ret, err)

ret

  • 类型:JSON 对象
  • 默认值: 无
  • 内部字段:
  1. {
  2. title: "", // 标题,
  3. content: "", // 内容,对于消息透传,前台只有本字段
  4. customContent: "", // 自定义key-value信息
  5. /* 以下只有通知相关 */
  6. msgid: "", // 消息id
  7. activity: "", // 通知打开的activity名称
  8. actionType: 1, // 通知打开的类型,1:打开某个activity, 默认值;2:打开url;3:打开intent

示例代码

可用性

Android系统

可提供的1.1.0及更高版本

错误码

错误类型