此SDK已停止维护,请开发者对接 RestApi V2
推送API,GitHub示例点此查看
个推为开发者提供了如下3种消息推送方式:
支持定速推送、定时推送,支持条件的交并补功能
向单个用户发送消息,可根据cid或别名指定用户。
注:个推使用clientid来标识每个独立的用户,每一台终端上每一个app拥有一个独立的clientid。
IPushResult pushMessageToSingle(SingleMessage message, Target target);
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
message | SingleMessage | 是 | 无 | 消息体 |
target | Target | 是 | 无 | 推送目标 |
SingleMessage
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
isOffline | boolean | 否 | false | 是否保持离线消息 |
offlineExpireTime | long | 否 | 1小时 | 过多久该消息离线失效(单位毫秒) 支持1-72小时*3600000毫秒 |
pushNetWorkType | long | 否 | 0 | 推送网络要求 0:联网方式不限; 1:仅wifi; 2:仅移动网络 |
strategyJson | json | 否 | - | 厂商下发策略:控制消息经由个推通道或厂商下发。 示例:{\"default\":4,\"ios\":4,\"st\":4} 字段含义如下: 1: 个推通道优先,在线经个推通道下发,离线经厂商下发(默认); 2: 在离线只经厂商下发; 3: 在离线只经个推通道下发; 4: 优先经厂商下发,失败后经个推通道下发; JAVA SDK版本要求4.1.1.0以上 |
data | ITemplate | 是 | 无 | 设置推送效果,点击查看详细说明 |
Target
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
appId | String | 是 | 无 | 应用唯一ID |
clientId | String | 否 | 无 | 客户端身份ID clientId和alias二选一 |
alias | String | 否 | 无 | 用户别名 clientId和alias二选一 |
名称 | 类型 | 描述 |
---|---|---|
result | String | 请求结果,其他返回结果详见错误返回值 |
taskId | String | 任务ID |
status | String | 推送结果 successed_offline 离线下发(包含厂商通道下发) successed_online 在线下发 successed_ignore 最近90天内不活跃用户不下发 |
aliasDetails | JsonObject | 对应每个cid的推送详情,环境变量设置gexin_pushSingle_aliasDetail 为true时返回此数据,不设置或为false不返还此数据。 |
{
"result":"ok",
"taskId":"xxx",
"status":"successed_online",
"aliasDetails": {
"cid1":"successed_online",
"cid2":"successed_offline"
}
}
import com.gexin.rp.sdk.base.IPushResult;
import com.gexin.rp.sdk.base.impl.SingleMessage;
import com.gexin.rp.sdk.base.impl.Target;
import com.gexin.rp.sdk.exceptions.RequestException;
import com.gexin.rp.sdk.http.IGtPush;
import com.gexin.rp.sdk.template.LinkTemplate;
import com.gexin.rp.sdk.http.Constants;
public class PushtoSingle {
// 详见【概述】-【服务端接入步骤】-【STEP1】说明,获得的应用配置
private static String appId = "";
private static String appKey = "";
private static String masterSecret = "";
static String CID = "";
// 别名推送方式
// static String Alias = "";
// 如果需要使用HTTPS,直接修改url即可
//private static String url = "https://api.getui.com/apiex.htm";
static String host = "http://api.getui.com/apiex.htm";
public static void main(String[] args) throws Exception {
// 设置后,根据别名推送,会返回每个cid的推送结果
System.setProperty(Constants.GEXIN_PUSH_SINGLE_ALIAS_DETAIL, "true");
IGtPush push = new IGtPush(host, appKey, masterSecret);
NotificationTemplate template = getNotificationTemplate();
SingleMessage message = new SingleMessage();
message.setOffline(true);
// 离线有效时间,单位为毫秒
message.setOfflineExpireTime(24 * 3600 * 1000);
message.setData(template);
// 可选,1为wifi,0为不限制网络环境。根据手机处于的网络情况,决定是否下发
message.setPushNetWorkType(0);
// 厂商通道下发策略
message.setStrategyJson("{\"default\":4,\"ios\":4,\"st\":4}");
Target target = new Target();
target.setAppId(appId);
target.setClientId(CID);
//target.setAlias(Alias);
IPushResult ret = null;
try {
ret = push.pushMessageToSingle(message, target);
} catch (RequestException e) {
e.printStackTrace();
ret = push.pushMessageToSingle(message, target, e.getRequestId());
}
if (ret != null) {
System.out.println(ret.getResponse().toString());
} else {
System.out.println("服务器响应异常");
}
}
public static NotificationTemplate getNotificationTemplate() {
NotificationTemplate template = new NotificationTemplate();
// 设置APPID与APPKEY
template.setAppId(appId);
template.setAppkey(appKey);
Style0 style = new Style0();
// 设置通知栏标题与内容
style.setTitle("请输入通知栏标题");
style.setText("请输入通知栏内容");
// 配置通知栏图标
style.setLogo("icon.png");
// 配置通知栏网络图标
style.setLogoUrl("");
// 设置通知是否响铃,震动,或者可清除
style.setRing(true);
style.setVibrate(true);
style.setClearable(true);
style.setChannel("通知渠道id");
style.setChannelName("通知渠道名称");
style.setChannelLevel(3); //设置通知渠道重要性
template.setStyle(style);
template.setTransmissionType(1); // 透传消息接受方式设置,1:立即启动APP,2:客户端收到消息后需要自行处理
template.setTransmissionContent("请输入您要透传的内容");
//template.setAPNInfo(getAPNPayload()); //详见【推送模板说明】iOS通知样式设置
return template;
}
}
合并多个单推任务,统一提交,可提升推送效率。
IPushResult submit();
STEP1:调用push.getBatch() 获取操作对象
STEP2:调用batch.add() 添加单推任务
STEP3:调用batch.submit() 提交任务
推送参数message和target与对单个用户推送消息使用的的参数相同
注:此接口有批量个数有限制,alias不允许超过100个,cid不允许超过5000个。
名称 | 类型 | 描述 |
---|---|---|
result | String | 请求结果,其他返回结果详见错误返回值 |
info | JsonObject | 每个cid推送的结果 |
{
"result":"ok",
"info":{
"1":{
"result":"ok",
"taskId":"OSS-xxx",
"cid":"xxx",
"status":"successed_online"
},
"2":{
"result":"ok",
"taskId":"OSS-xxx",
"cid":"xxx",
"status":"successed_offline"
}
}
}
import java.io.IOException;
import com.gexin.rp.sdk.base.IBatch;
import com.gexin.rp.sdk.base.IIGtPush;
import com.gexin.rp.sdk.base.impl.SingleMessage;
import com.gexin.rp.sdk.base.impl.Target;
import com.gexin.rp.sdk.http.IGtPush;
import com.gexin.rp.sdk.template.LinkTemplate;
import com.gexin.rp.sdk.template.NotificationTemplate;
public class MyBatchPushDemo {
// 详见【概述】-【服务端接入步骤】-【STEP1】说明,获得的应用配置
private static String appId = "";
private static String appKey = "";
private static String masterSecret = "";
static String CID_A = "";
static String CID_B = "";
// 如果需要使用HTTPS,直接修改url即可
//static String host = "https://api.getui.com/apiex.htm";
static String host = "http://api.getui.com/apiex.htm";
public static void main(String[] args) throws IOException {
IIGtPush push = new IGtPush(host, appKey, masterSecret);
IBatch batch = push.getBatch();
try {
// 构建客户a的通知消息a
constructClientNotifyMsg(CID_A,"msgA",batch);
// 构建客户B的点击通知打开网页消息b
constructClientLinkMsg(CID_B,"msgB",batch);
} catch (Exception e) {
e.printStackTrace();
}
batch.submit();
}
private static void constructClientNotifyMsg(String cid, String msg ,IBatch batch) throws Exception {
SingleMessage message = new SingleMessage();
ITemplate template = notificationTemplateDemo();
//template.setAPNInfo(getAPNPayload()); //详见【推送模板说明】iOS通知样式设置
message.setData(template);
message.setOffline(true);
message.setOfflineExpireTime(360 * 1000);
// 厂商通道下发策略
message.setStrategyJson("{\"default\":4,\"ios\":4,\"st\":4}");
// 设置推送目标,填入appid和clientId
Target target = new Target();
target.setAppId(appId);
target.setClientId(cid);
batch.add(message, target);
}
public static NotificationTemplate notificationTemplateDemo() {
NotificationTemplate template = new NotificationTemplate();
// 设置APPID与APPKEY
template.setAppId(appId);
template.setAppkey(appKey);
Style0 style = new Style0();
// 设置通知栏标题与内容
style.setTitle("请输入通知栏标题");
style.setText("请输入通知栏内容");
// 配置通知栏图标
style.setLogo("icon.png");
// 配置通知栏网络图标
style.setLogoUrl("");
// 设置通知是否响铃,震动,或者可清除
style.setRing(true);
style.setVibrate(true);
style.setClearable(true);
style.setChannel("通知渠道id");
style.setChannelName("通知渠道名称");
style.setChannelLevel(3); //设置通知渠道重要性
template.setStyle(style);
// 透传消息接受方式设置,1:立即启动APP,2:客户端收到消息后需要自行处理
template.setTransmissionType(2);
template.setTransmissionContent("请输入您要透传的内容");
//template.setAPNInfo(getAPNPayload()); //详见【推送模板说明】iOS通知样式设置
return template;
}
private static void constructClientLinkMsg(String cid, String msg ,IBatch batch) throws Exception {
SingleMessage message = new SingleMessage();
LinkTemplate template = new LinkTemplate();
// 设置APPID与APPKEY
template.setAppId(appId);
template.setAppkey(appKey);
Style0 style = new Style0();
// 设置通知栏标题与内容
style.setTitle("请输入通知栏标题");
style.setText("请输入通知栏内容");
// 配置通知栏图标
style.setLogo("icon.png");
// 配置通知栏网络图标
style.setLogoUrl("");
// 设置通知是否响铃,震动,或者可清除
style.setRing(true);
style.setVibrate(true);
style.setClearable(true);
template.setStyle(style);
//template.setAPNInfo(getAPNPayload()); //详见【推送模板说明】iOS通知样式设置
message.setData(template);
message.setOffline(true);
message.setOfflineExpireTime(360 * 1000);
// 厂商通道下发策略
message.setStrategyJson("{\"default\":4,\"ios\":4,\"st\":4}");
// 设置推送目标,填入appid和clientId
Target target = new Target();
target.setAppId(appId);
target.setClientId(cid);
batch.add(message, target);
}
}
toList推送指向指定的用户列表进行推送。此接口用户创建消息公共体,为toList推送前置步骤
操作步骤如下:
STEP1:创建消息公共体,获取taskId。
STEP2:调用【toList】执行推送接口执行下发
说明:taskId等价于contentId
String getContentId(ListMessage message);
String getContentId(ListMessage message,String taskGroupName);
注:此接口频次限制200万次/天,申请修改请点击右侧“技术咨询”了解详情 。
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
message | ListMessage | 是 | 无 | 消息体 |
taskGroupName | string | 否 | 无 | 任务组名 多个消息公共体可以用同一个任务组名,后续可根据任务组名查询推送情况 |
ListMessage
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
isOffline | boolean | 否 | false | 是否保持离线消息 |
offlineExpireTime | long | 否 | 1小时 | 过多久该消息离线失效(单位毫秒) 支持1-72小时*3600000毫秒 |
pushNetWorkType | long | 否 | 0 | 推送网络要求 0:联网方式不限; 1:仅wifi; 2:仅移动网络 |
strategyJson | json | 否 | - | 厂商下发策略:控制消息经由个推通道或厂商下发。 示例:{\"default\":4,\"ios\":4,\"st\":4} 字段含义如下: 1: 个推通道优先,在线经个推通道下发,离线经厂商下发(默认); 2: 在离线只经厂商下发; 3: 在离线只经个推通道下发; 4: 优先经厂商下发,失败后经个推通道下发; JAVA SDK版本要求4.1.1.0以上 |
data | ITemplate | 是 | 无 | 设置推送效果,点击查看详细说明 |
名称 | 类型 | 描述 |
---|---|---|
result | String | 请求结果,其他返回结果详见错误返回值 |
contentId | String | 就是taskId,任务ID(格式OSL-MMdd_XXXXXX) |
{
"result":"ok",
"contentId":"xxx"
}
上传clientid或别名列表,对列表中所有clientid或别名用户进行消息推送。调用此接口前需调用获取taskId接口设置消息内容。
IPushResult pushMessageToList(String contentId, List<Target> targetList);
注:单次推送数量限制1000以内,此接口频次限制200万次/天,申请修改请点击右侧“技术咨询”了解详情 。
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
contentId | string | 是 | 无 | 就是taskId,任务ID,是获取taskId接口返回值 相同taskId可以多次使用 |
targetList | List<Target> | 是 | 无 | 推送目标列表,单次推送数量限制1000以内 |
Target
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
appId | String | 是 | 无 | 应用唯一ID |
clientId | String | 否 | 无 | 客户端身份ID clientId和alias至少选其一 |
alias | String | 否 | 无 | 用户别名 clientId和alias至少选其一 |
名称 | 类型 | 描述 |
---|---|---|
result | String | 请求结果,其他返回结果详见错误返回值 |
contentId | String | 就是taskId,任务ID |
details | JsonObject | 环境变量设置gexin_pushList_needDetails 为true时返回此数据,不设置或为false不返还此数据。 |
aliasDetails | JsonObject | 环境变量设置gexin_pushList_needAliasDetails 为true时返回此数据,不设置或为false不返还此数据。 |
{
"result":"ok",
"contentId":"",
"details":{
"cid1":"successed_online",
"cid2":"successed_offline",
"cid3":"successed_ignore"
},
"aliasDetails":{
"cid1":"successed_online",
"cid2":"successed_offline",
"cid3":"successed_ignore"
}
}
import java.util.ArrayList;
import java.util.List;
import com.gexin.rp.sdk.base.IPushResult;
import com.gexin.rp.sdk.base.impl.ListMessage;
import com.gexin.rp.sdk.base.impl.Target;
import com.gexin.rp.sdk.http.IGtPush;
import com.gexin.rp.sdk.template.NotificationTemplate;
public class PushList {
// 详见【概述】-【服务端接入步骤】-【STEP1】说明,获得的应用配置
private static String appId = "";
private static String appKey = "";
private static String masterSecret = "";
static String CID1 = "";
static String CID2 = "";
// 别名推送方式
// static String Alias1 = "";
// static String Alias2 = "";
// 如果需要使用HTTPS,直接修改url即可
// static String host = "https://api.getui.com/apiex.htm";
static String host = "http://api.getui.com/apiex.htm";
public static void main(String[] args) throws Exception {
// 配置返回每个用户返回用户状态,可选
System.setProperty("gexin_pushList_needDetails", "true");
// 配置返回每个别名及其对应cid的用户状态,可选
// System.setProperty("gexin_pushList_needAliasDetails", "true");
IGtPush push = new IGtPush(host, appKey, masterSecret);
// 通知透传模板
NotificationTemplate template = notificationTemplateDemo();
ListMessage message = new ListMessage();
message.setData(template);
// 设置消息离线,并设置离线时间
message.setOffline(true);
// 离线有效时间,单位为毫秒
message.setOfflineExpireTime(24 * 1000 * 3600);
// 厂商通道下发策略
message.setStrategyJson("{\"default\":4,\"ios\":4,\"st\":4}");
// 配置推送目标
List targets = new ArrayList();
Target target1 = new Target();
Target target2 = new Target();
target1.setAppId(appId);
target1.setClientId(CID1);
// target1.setAlias(Alias1);
target2.setAppId(appId);
target2.setClientId(CID2);
// target2.setAlias(Alias2);
targets.add(target1);
targets.add(target2);
// taskId用于在推送时去查找对应的message
String taskId = push.getContentId(message);
IPushResult ret = push.pushMessageToList(taskId, targets);
System.out.println(ret.getResponse().toString());
}
public static NotificationTemplate notificationTemplateDemo() {
NotificationTemplate template = new NotificationTemplate();
// 设置APPID与APPKEY
template.setAppId(appId);
template.setAppkey(appKey);
Style0 style = new Style0();
// 设置通知栏标题与内容
style.setTitle("请输入通知栏标题");
style.setText("请输入通知栏内容");
// 配置通知栏图标
style.setLogo("icon.png");
// 配置通知栏网络图标
style.setLogoUrl("");
// 设置通知是否响铃,震动,或者可清除
style.setRing(true);
style.setVibrate(true);
style.setClearable(true);
style.setChannel("通知渠道id");
style.setChannelName("通知渠道名称");
style.setChannelLevel(3); //设置通知渠道重要性
template.setStyle(style);
// 透传消息接受方式设置,1:立即启动APP,2:客户端收到消息后需要自行处理
template.setTransmissionType(2);
template.setTransmissionContent("请输入您要透传的内容");
//template.setAPNInfo(getAPNPayload()); //详见【推送模板说明】iOS通知样式设置
return template;
}
}
对指定应用的所有(或符合筛选条件的)用户群发推送消息。有定时、定速功能。
IPushResult pushMessageToApp(AppMessage message);
IPushResult pushMessageToApp(AppMessage message, String taskGroupName);
注:此接口频次限制20次/天,每分钟不能超过5次,定时推送功能需要申请开通才可以使用,申请修改请点击右侧“技术咨询”了解详情 。
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
message | AppMessage | 是 | 无 | 消息体 |
taskGroupName | String | 否 | 无 | 任务组名 多个消息公共体可以用同一个任务组名,后续可根据任务组名查询推送情况 |
AppMessage
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
isOffline | boolean | 否 | false | 是否保持离线消息 |
offlineExpireTime | long | 否 | 1小时 | 过多久该消息离线失效(单位毫秒) 支持1-72小时*3600000毫秒 |
pushNetWorkType | long | 否 | 0 | 推送网络要求 0:联网方式不限; 1:仅wifi; 2:仅移动网络 |
strategyJson | json | 否 | - | 厂商下发策略:控制消息经由个推通道或厂商下发。 示例:{\"default\":4,\"ios\":4,\"st\":4} 字段含义如下: 1: 个推通道优先,在线经个推通道下发,离线经厂商下发(默认); 2: 在离线只经厂商下发; 3: 在离线只经个推通道下发; 4: 优先经厂商下发,失败后经个推通道下发; JAVA SDK版本要求4.1.1.0以上 |
data | ITemplate | 是 | 无 | 设置推送效果,点击查看详细说明 |
appIdList | List<String> | 是 | 无 | appId列表,只有第一个有效 |
conditions | AppConditions | 否 | 无 | 筛选条件交并补功能 |
speed | int | 否 | 无 | 定速推送 例如100,个推控制下发速度在100条/秒左右 |
pushTime | String | 否 | 无 | 定时推送时间,必须是7天内的时间 格式:yyyyMMddHHmm 此功能需要开通VIP,如需开通请点击右侧“技术咨询”了解详情 |
AppConditions
// AppConditions类的实例方法
AppConditions addCondition(String key, List<String> values, int optType);
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
key | String | 是 | 无 | 查询条件键(phoneType 手机类型,region 省市,tag 用户标签),其他key可开通VIP套餐,通过查询用户画像接口获取 |
values | List | 是 | 无 | 查询条件值列表,其中 手机型号使用如下参数 ANDROID 和IOS ,需要大写;省市使用编号,点击下载文件region_code.data; |
optType | String | 否 | 0 | 条件类型(OptType.or 或, OptType.and 与, OptType.not 非) |
名称 | 类型 | 描述 |
---|---|---|
result | String | 请求结果,其他返回结果详见错误返回值 |
contentId | String | 任务ID |
{
"result":"ok",
"contentId":"xxx"
}
import java.util.ArrayList;
import java.util.List;
import com.gexin.rp.sdk.base.IPushResult;
import com.gexin.rp.sdk.base.impl.AppMessage;
import com.gexin.rp.sdk.base.uitls.AppConditions;
import com.gexin.rp.sdk.http.IGtPush;
import com.gexin.rp.sdk.template.LinkTemplate;
public class PushtoAPP {
// 详见【概述】-【服务端接入步骤】-【STEP1】说明,获得的应用配置
private static String appId = "";
private static String appKey = "";
private static String masterSecret = "";
// 如果需要使用HTTPS,直接修改url即可
// static String host = "https://api.getui.com/apiex.htm";
static String host = "http://api.getui.com/apiex.htm";
public static void main(String[] args) throws Exception {
IGtPush push = new IGtPush(host, appKey, masterSecret);
NotificationTemplate template = getNotificationTemplate();
AppMessage message = new AppMessage();
message.setData(template);
message.setOffline(true);
// 离线有效时间,单位为毫秒
message.setOfflineExpireTime(24 * 1000 * 3600);
// 厂商通道下发策略
message.setStrategyJson("{\"default\":4,\"ios\":4,\"st\":4}");
// 推送给App的目标用户需要满足的条件
AppConditions cdt = new AppConditions();
List<String> appIdList = new ArrayList<String>();
appIdList.add(appId);
message.setAppIdList(appIdList);
// 手机类型
List<String> phoneTypeList = new ArrayList<String>();
phoneTypeList.add("IOS");
phoneTypeList.add("ANDROID");
// 省份
List<String> provinceList = new ArrayList<String>();
// 参见region_code.data
provinceList.add("33010000");//杭州市
provinceList.add("51010000");//成都市
// 自定义tag
List<String> tagList = new ArrayList<String>();
tagList.add("tag001");
// 查询可推送的用户画像(需要开通VIP套餐)
//IQueryResult personaTagResult = push.getPersonaTags(APPID);
//System.out.println(personaTagResult.getResponse());
// 工作
List<String> jobs = new ArrayList<String>();
jobs.add("0102");
jobs.add("0110");
conditions.addCondition("job", jobs);
// 年龄
List<String> age = new ArrayList<String>();
age.add("0000");
conditions.addCondition("age", age);
cdt.addCondition(AppConditions.PHONE_TYPE, phoneTypeList, AppConditions.OptType.or);
cdt.addCondition(AppConditions.REGION, provinceList, AppConditions.OptType.or);
cdt.addCondition(AppConditions.TAG,tagList, AppConditions.OptType.and);
cdt.addCondition("job", jobs, AppConditions.OptType.not);
cdt.addCondition("age", age);
message.setConditions(cdt);
IPushResult ret = push.pushMessageToApp(message,"任务别名_toApp");
System.out.println(ret.getResponse().toString());
}
public static NotificationTemplate getNotificationTemplate() {
NotificationTemplate template = new NotificationTemplate();
// 设置APPID与APPKEY
template.setAppId(appId);
template.setAppkey(appKey);
Style0 style = new Style0();
// 设置通知栏标题与内容
style.setTitle("请输入通知栏标题");
style.setText("请输入通知栏内容");
// 配置通知栏图标
style.setLogo("icon.png");
// 配置通知栏网络图标
style.setLogoUrl("");
// 设置通知是否响铃,震动,或者可清除
style.setRing(true);
style.setVibrate(true);
style.setClearable(true);
style.setChannel("通知渠道id");
style.setChannelName("通知渠道名称");
style.setChannelLevel(3); //设置通知渠道重要性
template.setStyle(style);
template.setTransmissionType(1); // 透传消息设置,收到消息是否立即启动应用: 1为立即启动,2则广播等待客户端自启动
template.setTransmissionContent("请输入您要透传的内容");
//template.setAPNInfo(getAPNPayload()); //详见【推送模板说明】iOS通知样式设置
return template;
}
}
对正处于推送状态,或者未接收的消息停止下发(只支持批量推和群推任务)
boolean stop(String contentId)
名称 | 类型 | 描述 |
---|---|---|
- | boolean | true:成功; false:失败 |
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
contentId | string | 是 | 无 | 就是taskId,任务ID(格式OSL-MMdd_XXXXXX或OSA-MMdd_XXXXXX) |
此接口可根据taskID查询所有定时任务
IPushResult getScheduleTask(String taskId, String appId);
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
taskId | String | 是 | 无 | 任务ID |
appId | String | 是 | 无 | 应用唯一ID |
名称 | 类型 | 描述 |
---|---|---|
result | String | 请求结果,其他返回结果详见错误返回值 |
taskId | String | 任务ID |
taskDetail | JsonObject | 任务详情 |
taskDetail
名称 | 类型 | 描述 |
---|---|---|
desc | String | 查询结果描述 |
status | String | 查询结果code码 |
pushContent | String | 推送内容 |
pushTime | String | 推送任务设置的定时时间 |
creatTime | String | 创建任务时间 |
sendResult | String | 任务状态,有如下值HAS_DELETE :定时任务已经被删除SEND_SUCCESS :定时任务发送成功DO_NOT_SEND :定时任务还没有发送SEND_FAILED :定时任务发送失败 |
{
"result":"Success",
"taskId":"xxx",
"taskDetail": {
"desc":"ok",
"status":"0",
"pushContent":"xxx",
"pushTime":"20190814180000",
"creatTime":"Wed Aug 14 14:14:22 CST 2019",
"sendResult":"DO_NOT_SEND"
}
}
用来删除还未下发的任务,删除后定时任务不再出发
IPushResult delScheduleTask(String taskId, String appId)
距离下发还有一分钟的任务,将无法删除,后续可以调用停止任务接口。
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
taskId | String | 是 | 无 | 任务ID |
appId | String | 是 | 无 | 应用唯一ID |
名称 | 类型 | 描述 |
---|---|---|
result | String | 请求结果,其他返回结果详见错误返回值 |
taskDetail | String | 结果描述 |
{
"result":"Success",
"taskDetail":""
}
以上文档对您是否有帮助?