1、简介
本插件封装了信鸽消息推送平台的 SDK,使用此模块可轻松实现服务端向客户端推送通知和透传消息的功能。
信鸽官方网站:http://xg.qq.com
插件作者:来自信鸽官方
2、接入插件方法
修改AndroidManifest.xml
把插件下载下来并解压,修改AndroidManifest.xml文件中下面那段代码中的包名(第8行)为 自己的应用的包名.PUSH_ACTION
android:name="com.tencent.android.tpush.rpc.XGRemoteService"
android:exported="true">
然后其他文件不用修改,重新压缩成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+
示例:
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+
示例:
uexXGPush.setAccessidAndKey(2100091983,"AW46QY2AT77L")
registerPush 注册推送
说明:
本函数根据account参数的不同有三种使用方式
注册推送(并且绑定/解绑账号),注册成功以后可以接收消息。
uexXGPush.registerPush(account)
参数
参数名称
参数类型
是否必选
说明
account
string
否
1.不传递参数,即registerPush(),表示注册设备 2.参数大于一个字节,如:registerPush(“WeChatOpenid”), 表示注册设备的同时绑定该账号(别名), 可以收到基于该账号的推送, 多次绑定以最后一个绑定成功的账号为准 3.参数为”\\\\\\\\“,如registerPush(“\\\\\\\\“), 表示注册设备并解除之前绑定的账号(若有的话), 解除账号绑定仍然可以收到推送, 但不再收到基于最近绑定该账号的推送
平台支持:
Android 2.2+
iOS 6.0+
示例:
//1.注册设备
uexXGPush.registerPush()
//2.注册设备并绑定微信openid
uexXGPush.registerPush("WeChatOpenid")
//3.注册设备并解除本设备绑定的账号
uexXGPush.registerPush("*")
unregisterPush 注销推送
说明:
取消注册推送,取消以后不会接收消息
uexXGPush.unregisterPush()
参数
无
平台支持:
Android 2.2+
iOS 6.0+
示例:
uexXGPush.unregisterPush()
setTag 设置标签
说明:
设置标签,设置标签以后后台可以针对指定标签推送
uexXGPush.setTag(tag)
参数
参数名称
参数类型
是否必选
说明
tag
string
是
需要设置的tag
平台支持:
Android 2.2+
iOS 6.0+
示例:
uexXGPush.setTag('appCanXGPushTag')
delTag 删除标签
说明:
删除标签,将设备从指定的标签中移除
uexXGPush.delTag(tag)
参数
参数名称
参数类型
是否必选
说明
tag
string
是
需要删除的tag
平台支持:
Android 2.2+
iOS 6.0+
示例:
uexXGPush.delTag('appCanXGPushTag')
cancelNotification 取消标题栏通知/取消角标
说明:
android:清除已在通知栏展示的通知;ios:取消程序的角标
uexXGPush.cancelNotification()
参数
无
平台支持:
Android 2.2+
iOS 6.0+
示例:
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+
示例代码
uexXGPush.onRegisterCb=function(opCode,dataType,data){
if(opCode==0){
alert("注册成功,token为:"+data);
}else{
alert("注册失败,错误码:"+opCode+",错误信息:"+data);
}
}
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+
示例:
uexXGPush.onUnregisterCb=function(opCode,dataType,data){
if(opCode==0){
alert("反注册成功,token为:"+data);
}else{
alert("反注册失败,错误码:"+opCode+",错误信息:"+data);
}
}
onSetTagCb 调用setTag时的回调
function(opCode, dataType, data)
参数
参数名称
参数类型
是否必选
说明
opCode
Number
是
操作ID,0:操作成功;非0:操作失败的失败码
dataType
Number
是
参数类型 详见CONSTANT 中Callback方法数据类型,在此函数中不起作用,可忽略
data
String
是
操作的标签名
平台支持:
Android 2.2+
iOS 6.0+
示例
uexXGPush.onSetTagCb=function(opCode,dataType,data){
if(opCode==0){
alert("设置成功,tagName为:"+data);
}else{
alert("设置失败,错误码:"+opCode+",tagName为:"+data);
}
}
onDelTagCb 调用delTag时的回调
function(opCode, dataType, data)
参数
参数名称
参数类型
是否必选
说明
opCode
Number
是
操作ID,0:操作成功;非0:操作失败的失败码
dataType
Number
是
参数类型 详见CONSTANT 中Callback方法数据类型,在此函数中不起作用,可忽略
data
String
是
操作的标签名
平台支持
Android 2.2+
iOS 6.0+
示例
uexXGPush.onDelTagCb=function(opCode,dataType,data){
if(opCode==0){
alert("删除成功,tagName为:"+data);
}else{
alert("删除失败,错误码:"+opCode+",tagName为:"+data);
}
}
onTextMessageCb 收到消息透传(消息命令字)的回调
function(opCode, dataType, data)
参数
参数名称
参数类型
是否必选
说明
opCode
Number
是
操作ID,0:操作成功;非0:操作失败的失败码,在此函数中不起作用,可忽略
dataType
Number
是
参数类型 详见CONSTANT 中Callback方法数据类型,在此函数中不起作用,可忽略
data
String
是
收到的消息透传 json格式数据如下:{“content”:”一般上只需要本字段即可。收到的内容, 一般上内容由开发者规定格式,建议使用json方便扩展”, “customContent “:”自定义内容,通常不使用”,”title”:”标题,通常不使用”}
平台支持
Android 2.2+
示例
uexXGPush.onTextMessageCb=(opCode,dataType,data){
// alert("收到消息透传,data=" + data)
data=JSON.parse(data);
alert("收到消息透传,内容:"+data.content);
}
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+
示例
uexXGPush.onNotificationShowedCb=(opCode,dataType,data){
// alert("展示通知,data=" + data)
data=JSON.parse(data);
alert("展示通知,标题:"+data.title+",内容:"+data.content+",自定义内容:"+data.customContent+",打开的activity:"+data.activity+",msgid:"+data.msgId);
}
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+
示例代码
uexXGPush.onNotificationCilckedCb=(opCode,dataType,data){
// alert("展示通知,data=" + data)
data=JSON.parse(data);
alert("展示通知,标题:"+data.title+",内容:"+data.content+",自定义内容:"+data.customContent+",打开的activity:"+data.activity+",msgid:"+data.msgId);
}