接口类型定义

接口类型定义

1. 执行对个推的请求

1.1 IGtPush

代表在个推注册的一个app,调用该类实例的方法来执行对个推的请求, 构造函数说明如下:

参数名 类型 必需 默认值 参数描述
host string 推送os域名, host可选填,如果host不填程序自动检测用户网络,选择最快的域名连接下发。(服务端SDK版本号3.4.0.0及以上版本支持该功能)
appKey string 用于鉴定身份是否合法
masterSecret string 第三方客户端个推集成鉴权码,用于验证第三方合法性。在服务端推送鉴权时使用
useSSL boolean FALSE 是否使用https接口调用:true 使用https连接,false使用http连接;默认使用http。(服务端SDK版本号4.0.1.0及以上版本支持该功能)

1.2 接口调用方法

使用方法 连接方式 说明
IGtPush push = new IGtPush(appkey,masterSecret); http 详情见Https接口说明
IGtPush push = new IGtPush(appkey,masterSecret,false); http 详情见Https接口说明
IGtPush push = new IGtPush(getui_http_host, appkey,masterSecret); http 比如getui_http_host为"http://sdk.open.api.igexin.com/apiex.htm"
IGtPush push = new IGtPush(appkey,masterSecret,true); https 详情见Https接口说明
IGtPush push = new IGtPush(getui_https_host, appkey,masterSecret); https 比如getui_https_host为"https://api.getui.com/apiex.htm"

1.3 包含接口

函数 说明
推送任务接口
pushMessageToSingle 对单个用户推送消息
getContentId 获取taskid,和pushMessageToList配套使用
CancelContentId 取消taskid,和pushMessageToList配套使用
pushMessageToList 对指定用户列表推送消息
pushMessageToApp 对指定应用群推送消息
批量上传接口
getBatch 返回一个IBatch实例通过批量推送调用
停止推送接口
stop 停止任务发送
Bade设置接口(仅iOS)
setBadge 设置iOS用户应用icon上显示的数字
标签设置接口
setClientTag 设置用户tag属性
getUserTags 获取用户tags
别名功能接口
bindAlias 单个cid绑定别名
bindAlias 多个cid绑定别名(和单个的传参不一样)
queryClientId 根据别名获取cid
queryAlias 根据cid获取别名
unBindAliasAll 所有cid和别名解绑
unBindAlias 单个cid和别名解绑
查询功能接口
getClientIdStatus 通过CID查询用户状态
getPushResult 通过taskId获取推送结果数据
queryAppUserDataByDate 通过日期,获取App维度的用户数据
queryAppPushDataByDate 通过日期,获取App维度的推送数据
getPushResultByGroupName 根据任务组名获取推送结果数据
getLast24HoursOnlineUserStatistics 获取24小时内在线用户数
getPersonaTags 获取用户画像标签
queryUserCount 获取用户总数

2. 消息体

2.1 Message

Message,定义消息推送方式

子类 说明
SingleMessage 单推消息的消息体
ListMessage 列表推送消息的消息体
AppMessage 指定应用群推送消息的消息体

2.1.1 SingleMessage

单推消息的消息体

成员和方法名 类型 长度 必填 默认值 说明
setData ITemplate 推送消息消息内容
setPriority int 消息体的优先级
setOffline boolean TRUE 消息离线是否存储
setOfflineExpireTime long 默认1h,3600*1000 消息离线存储多久,单位为毫秒,
setPushNetWorkType Int 0 1:wifi推送;0:不限制推送方式

2.1.2 ListMessage

列表推送消息的消息体

成员和方法名 类型 长度 必填 默认值 说明
setData ITemplate 推送消息消息内容
setPriority int 消息体的优先级
setOffline boolean TRUE 消息离线是否存储
setOfflineExpireTime long 默认1h,3600*1000 消息离线存储多久,单位为毫秒,
setPushNetWorkType Int 0 1:仅wifi推送;0:不限联网方式

2.1.3 AppMessage

指定应用群推送消息的消息体

成员和方法名 类型 长度 必填 默认值 说明
setData ITemplate 推送消息消息内容
setOffline boolean TRUE 消息离线是否存储
setOfflineExpireTime long 默认1h,3600*1000 消息离线存储多久,单位为毫秒,
setAppIdList List 指定推送的应用列表
setPhoneTypeList List 设置机型
setProvinceList List 设置省份或城市。可以是省份名称,也可以是城市编号,详见按城市推送接口
setTagList List 设置标签内容
setPushNetWorkType Int 0 1:wifi推送;0:不限制推送方式
setSpeed Int 0 定速推送
setConditions AppConditions 限定推送用户的条件

3. 推送目标

3.1 Target

注意:setClientId和setAlias其中一项必填

定义一个推送目标

成员和方法名 类型 长度 必填 默认值 说明
setAppId String 设置客户端所属应用唯一ID
setClientId String 设置客户端身份ID
setAlias String 可选 设置客户端所属用户别名

4. 推送结果

4.1 IPushResult

定义推送接口返回结果。通过该接口调用者可以获得 调用推送接口的结果码,生成的任务ID以及消息ID等信息。

子类 返回类型 说明
getResponse Map 获取推送返回结果

4.2 推送结果返回值

正确返回 返回码 结果说明
ok 成功
successed_online result=ok,状态在线下发
successed_offline result=ok,状态离线转入离线消息
lastLogin 用户离线时返回,用户最近一次登录时间戳
msgTotal 有效可下发总数
msgProcess 消息回执总数
clickNum 用户点击数
错误返回 返回码 结果说明
successed_ignore 无效用户,消息丢弃
failed 将cid列表加入黑名单失败
invalidCidList 无效的cid列表
StopTaskError 停止任务失败
NotInDealRange 该任务不在停止任务的范围内
Error 请求信息填写有误
AppidError clientid绑定的appid与推送的appid不符
AppKeyError Appkey填写错误
sign_error Appkey与ClientId不匹配,鉴权失败
domain_error 填写的域名错误或者无法解析
action_error 未找到对应的action动作
PushTotalNumOverLimit 推送消息个数总数超限
TokenMD5NoUsers 在系统中未查找到用户
TargetListIsNullOrSizeIs0 目标用户列表为空
taskIdNullError 任务Id为空
ServiceError! service错误
AppidNoAppSecret appId没有对应的appSecret
AppidNoMatchAppKey appid未找到对应的appkey
TaskIdNotMatchAppKey taskId找不到对应的appKey
NullMsgCommon 未找到消息公共体
PushMsgToListTimesOverLimit 群推消息次数超限
PushMsgToAppTimesOverLimit 群推消息次数超限
TokenMD5NoUsers 在系统中未查找到用户
SendError 消息发送失败
SynSendError 报文发送错误
Online 在线
Offline 离线
Nobind cid未绑定appid
FlowExceeded 接口消息推送流量已超限
BlackAppId appId为黑名单
TokenMD5Error cid填写错误
TagsNoUsers 标签找不到对应用户
AppIdNoUsers appid下找不到对应用户
PushTotalNumOverLimit 推送总数超限
NoSuchTaskId 无效contentid
OverLimit 每个clientId在24小时内只能设置一次
ParsePushInfoError pushinfo消息格式有误
DeviceTokenError 无效devicetoken
NoTargetDeviceToken 没有填写devicetoken
TaskIdNotMatchAppKey taskId找不到对应的appKey
NOTarget 没有推送目标
TagInvalidOrNoAuth 无效的变迁或没鉴权
AliasNotBind 别名没有绑定
OtherError 未知错误,无法判定错误类型
GroupNumOverLimit 直播间超过套餐值
GroupCidNumOverLimit 单个直播间的cid数超过套餐值
PushTooFrequency 直播间推送过频
PushTotalOverLimit 直播间当天推送总数超限
AppidOrGroupidErr 直播间查询传入的appid和groupid不对应

5. 批量操作

5.1 IBatch

定义批量上传

接口方法 说明
submit 提交消息
add 追加消息
retry 重新提交

5.1.1 submit

参数 类型 长度 必填 默认值 说明
- - - - 上传消息到服务器,返回IPushResult结果

5.1.2 add

参数 类型 长度 必填 默认值 说明
message SingleMessage 推送消息方式
target Target 推送用户目标

5.1.3 retry

参数 类型 长度 必填 默认值 说明
- - - - submit失败后,可以再次提交,返回IPushResult结果
通知
2018.03.21 Android SDK 4.3.0.0

增加通知到达、点击回调 适配Android 8.0 修复若干其他bug

......
2018.03.19 Android SDK 2.12.3.0

增加通知到达、点击回调 适配Android 8.0 修复若干其他bug

......
2018.01.29 JAVA SDK 4.0.1.17

苹果消息推送添加语音功能(VOIP)

......
2018.01.25 iOS SDK 2.2.0.0

新增 VOIP 推送及统计支持。 优化 SDK 解决已知问题。

......
2017.12.18 iOS SDK 2.1.0.0

新增 SDK 离线状态返回。 优化 SDK 解决已知问题。

......

文档中心搜索