下载文档

uexXGPush
更新时间:2016-05-10

1、简介

本插件封装了信鸽消息推送平台的 SDK,使用此模块可轻松实现服务端向客户端推送通知和透传消息的功能。
信鸽官方网站:http://xg.qq.com

插件作者:来自信鸽官方

2、接入插件方法

修改AndroidManifest.xml

把插件下载下来并解压,修改AndroidManifest.xml文件中下面那段代码中的包名(第8行)为 自己的应用的包名.PUSH_ACTION

  1. <!-- 【必须】 通知service,此选项有助于提高抵达率 -->
  2. <service
  3. android:name="com.tencent.android.tpush.rpc.XGRemoteService"
  4. android:exported="true" >
  5. <intent-filter>
  6. <!-- 【必须】 请修改为当前APP包名.PUSH_ACTION -->
  7. <action android:name="org.zywx.wbpalmstar.widgetone.uexDemo.PUSH_ACTION" />
  8. </intent-filter>
  9. </service>

然后其他文件不用修改,重新压缩成zip文件(保持原来的appcan插件目录结构),然后开发的时候添加这个插件即可

设置accessid和accesskey

去xg.qq.com信鸽官网注册应用获取accessid和accesskey,注意注册的包名要和你的app包名一致,如果不一致,必须使用多包名推送才能收到通知
获取到accessid和accesskey后,修改demo文件的setAccessidAndKey方法参数,传入获取到accessid和accesskey,详见下面的setAccessidAndKey方法介绍

3、API概览

3.1、方法

enableDebug 开关debug

说明:

  • 是否打开debug

uexXGPush.enableDebug(debug)

参数:

参数名称 参数类型 是否必选 说明
debug string 是否打开debug,”true”为打开debug,”false”为关闭debug,默认关闭

平台支持:
Android 2.2+

示例:

  1. uexXGPush.enableDebug("true")

setAccessidAndKey 设置accessid和accesskey

说明:

  • 设置accessId和accessKey
  • 调用registerPush之前必须先设置accessId 和 accessKey
  • accessId 和 accessKey的申请信鸽官网:http://xg.qq.com

uexXGPush.setAccessidAndKey(accessId, accessKey)

参数

参数名称 参数类型 是否必选 说明
accessid long 信鸽平台分配的accessid,android为21开头,ios为22开头
accesskey string 信鸽平台分配的accesskey,id与key必须要为同一个应用内的

平台支持:
Android 2.2+
iOS 6.0+

示例:

  1. uexXGPush.setAccessidAndKey(2100091983, "AW46QY2AT77L")

registerPush 注册推送

说明:

  • 本函数根据account参数的不同有三种使用方式
  • 注册推送(并且绑定/解绑账号),注册成功以后可以接收消息。
  • 回调 onRegisterCb

uexXGPush.registerPush(account)

参数

参数名称 参数类型 是否必选 说明
account string 1.不传递参数,即registerPush(),表示注册设备 2.参数大于一个字节,如:registerPush(“WeChatOpenid”), 表示注册设备的同时绑定该账号(别名), 可以收到基于该账号的推送, 多次绑定以最后一个绑定成功的账号为准 3.参数为”\\\\\\\\“,如registerPush(“\\\\\\\\“), 表示注册设备并解除之前绑定的账号(若有的话), 解除账号绑定仍然可以收到推送, 但不再收到基于最近绑定该账号的推送

平台支持:
Android 2.2+
iOS 6.0+

示例:

  1. //1.注册设备
  2. uexXGPush.registerPush()
  3. //2.注册设备并绑定微信openid
  4. uexXGPush.registerPush("WeChatOpenid")
  5. //3.注册设备并解除本设备绑定的账号
  6. uexXGPush.registerPush("*")

unregisterPush 注销推送

说明:

  • 取消注册推送,取消以后不会接收消息
  • 回调 onUnregisterCb

uexXGPush.unregisterPush()

参数

平台支持:
Android 2.2+
iOS 6.0+

示例:

  1. uexXGPush.unregisterPush()

setTag 设置标签

说明:

  • 设置标签,设置标签以后后台可以针对指定标签推送
  • 回调 onSetTagCb

uexXGPush.setTag(tag)

参数

参数名称 参数类型 是否必选 说明
tag string 需要设置的tag

平台支持:
Android 2.2+
iOS 6.0+

示例:

  1. uexXGPush.setTag('appCanXGPushTag')

delTag 删除标签

说明:

  • 删除标签,将设备从指定的标签中移除
  • 回调 onDelTagCb

uexXGPush.delTag(tag)

参数

参数名称 参数类型 是否必选 说明
tag string 需要删除的tag

平台支持:
Android 2.2+
iOS 6.0+

示例:

  1. uexXGPush.delTag('appCanXGPushTag')

cancelNotification 取消标题栏通知/取消角标

说明:

  • android:清除已在通知栏展示的通知;ios:取消程序的角标

uexXGPush.cancelNotification()

参数

平台支持:
Android 2.2+
iOS 6.0+

示例:

  1. uexXGPush.cancelNotification()

3.2、回调方法

onRegisterCb 注册操作的回调

function(opCode, dataType, data)

参数

参数名称 参数类型 是否必选 说明
opCode Number 操作ID,0:操作成功;非0:操作失败的失败码
dataType Number 参数类型 详见CONSTANT 中Callback方法数据类型,在此函数中不起作用,可忽略
data String 返回的数据。opCode=0返回的设备token;否则返回失败的详细内容

平台支持
Android 2.2+

示例代码

  1. uexXGPush.onRegisterCb=function(opCode, dataType, data){
  2. if(opCode==0){
  3. alert("注册成功,token为:"+data);
  4. }else{
  5. alert("注册失败,错误码:"+opCode + ",错误信息:"+data);
  6. }
  7. }

onUnregisterCb 反注册操作的回调

function(opCode, dataType, data)

参数

参数名称 参数类型 是否必选 说明
opCode Number 操作ID,0:操作成功;非0:操作失败的失败码
dataType Number 参数类型 详见CONSTANT 中Callback方法数据类型,在此函数中不起作用,可忽略
data String 返回的数据。opCode=0返回的设备token(iOS返回0);否则返回失败的详细内容

平台支持:
Android 2.2+
iOS 6.0+

示例:

  1. uexXGPush.onUnregisterCb=function(opCode, dataType, data){
  2. if(opCode==0){
  3. alert("反注册成功,token为:"+data);
  4. }else{
  5. alert("反注册失败,错误码:"+opCode + ",错误信息:"+data);
  6. }
  7. }

onSetTagCb 调用setTag时的回调

function(opCode, dataType, data)

参数

参数名称 参数类型 是否必选 说明
opCode Number 操作ID,0:操作成功;非0:操作失败的失败码
dataType Number 参数类型 详见CONSTANT 中Callback方法数据类型,在此函数中不起作用,可忽略
data String 操作的标签名

平台支持:
Android 2.2+
iOS 6.0+

示例

  1. uexXGPush.onSetTagCb=function(opCode, dataType, data){
  2. if(opCode==0){
  3. alert("设置成功,tagName为:"+data);
  4. }else{
  5. alert("设置失败,错误码:"+opCode + ",tagName为:"+data);
  6. }
  7. }

onDelTagCb 调用delTag时的回调

function(opCode, dataType, data)

参数

参数名称 参数类型 是否必选 说明
opCode Number 操作ID,0:操作成功;非0:操作失败的失败码
dataType Number 参数类型 详见CONSTANT 中Callback方法数据类型,在此函数中不起作用,可忽略
data String 操作的标签名

平台支持
Android 2.2+
iOS 6.0+

示例

  1. uexXGPush.onDelTagCb=function(opCode, dataType, data){
  2. if(opCode==0){
  3. alert("删除成功,tagName为:"+data);
  4. }else{
  5. alert("删除失败,错误码:"+opCode + ",tagName为:"+data);
  6. }
  7. }

onTextMessageCb 收到消息透传(消息命令字)的回调

function(opCode, dataType, data)

参数

参数名称 参数类型 是否必选 说明
opCode Number 操作ID,0:操作成功;非0:操作失败的失败码,在此函数中不起作用,可忽略
dataType Number 参数类型 详见CONSTANT 中Callback方法数据类型,在此函数中不起作用,可忽略
data String 收到的消息透传 json格式数据如下:{“content”:”一般上只需要本字段即可。收到的内容, 一般上内容由开发者规定格式,建议使用json方便扩展”, “customContent “:”自定义内容,通常不使用”,”title”:”标题,通常不使用”}

平台支持
Android 2.2+

示例

  1. uexXGPush.onTextMessageCb=(opCode, dataType, data){
  2. // alert("收到消息透传,data=" + data)
  3. data = JSON.parse(data);
  4. alert("收到消息透传,内容:"+data.content);
  5. }

onNotificationShowedCb 收到通知的回调,即通知展示在通知栏后会调用上函数

function(opCode, dataType, data)

参数

参数名称 参数类型 是否必选 说明
opCode Number 操作ID,0:操作成功;非0:操作失败的失败码,在此函数中不起作用,可忽略
dataType Number 参数类型 详见CONSTANT 中Callback方法数据类型,在此函数中不起作用,可忽略
data String 收到的通知json格式数据如下: {“content”:”内容”,”customContent”:”自定义内容”, “title”:”标题”,”activity”:”被打开的activity”,”msgId”:”通知的msgId”}

平台支持
Android 2.2+

示例

  1. uexXGPush.onNotificationShowedCb=(opCode, dataType, data){
  2. // alert("展示通知,data=" + data)
  3. data = JSON.parse(data);
  4. alert("展示通知,标题:"+data.title+",内容:"+data.content + ",自定义内容:"+data.customContent+",打开的activity:"+data.activity+",msgid:"+data.msgId);
  5. }

onNotificationCilckedCb 通知在通知栏中被点击或清除的回调

function(opCode, dataType, data)

参数

参数名称 参数类型 是否必选 说明
opCode Number 操作ID,0:操作成功;非0:操作失败的失败码,在此函数中不起作用,可忽略
dataType Number 参数类型 详见CONSTANT 中Callback方法数据类型,在此函数中不起作用,可忽略
data String 收到的通知json格式数据如下: {“type”:”点击为0,清除为2”,”content”:”内容”, “customContent”:”自定义内容”,”title”:”标题”,”activity”:”被打开的activity”, “msgId”:”通知的msgId”}

平台支持
Android 2.2+

示例代码

  1. uexXGPush.onNotificationCilckedCb=(opCode, dataType, data){
  2. // alert("展示通知,data=" + data)
  3. data = JSON.parse(data);
  4. alert("展示通知,标题:"+data.title+",内容:"+data.content + ",自定义内容:"+data.customContent+",打开的activity:"+data.activity+",msgid:"+data.msgId);
  5. }