推送API

代码示例

推送API,GitHub示例点此查看

简述

个推为开发者提供了如下3种消息推送方式:

toSingle :简称“单推”,指向单个用户推送消息

toList:简称“批量推”,指向制定的一批用户推送消息

toApp:简称“群推”,指向APP符合筛选条件的所有用户推送消息,支持定速推送、定时推送,支持条件的交并补功能

【toSingle】执行单推

功能描述

向单个用户发送消息,可根据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;

}

}

【toSingle】执行批量单推

功能说明

合并多个单推任务,统一提交,可提升推送效率。

接口说明

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】获取taskId

功能说明

toList推送指向指定的用户列表进行推送。此接口用户创建消息公共体,为toList推送前置步骤

操作步骤如下:

STEP1:创建消息公共体,获取taskId。

STEP2:调用【toList】执行推送接口执行下发

说明:taskId等价于contentId

对应接口

String getContentId(ListMessage message);

String getContentId(ListMessage message,String taskGroupName);

限制说明

注:此接口频次限制200万次/天,申请修改请联系邮箱:lieg@getui.com 。

请求参数

名称

类型

是否必需

默认值

描述

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"

}

【toList】执行批量推

功能说明

上传clientid或别名列表,对列表中所有clientid或别名用户进行消息推送。调用此接口前需调用获取taskId接口设置消息内容。

对应接口

IPushResult pushMessageToList(String contentId, List targetList);

限制说明

注:单次推送数量限制1000以内,此接口频次限制200万次/天,申请修改请联系邮箱:lieg@getui.com 。

请求参数

名称

类型

是否必需

默认值

描述

contentId

string

就是taskId,任务ID,是获取taskId接口返回值

相同taskId可以多次使用

targetList

List

推送目标列表,单次推送数量限制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;

}

}

【toApp】执行群推

功能说明

对指定应用的所有(或符合筛选条件的)用户群发推送消息。有定时、定速功能。

对应接口

IPushResult pushMessageToApp(AppMessage message);

IPushResult pushMessageToApp(AppMessage message, String taskGroupName);

限制说明

注:此接口频次限制100次/天,每分钟不能超过5次,定时推送功能需要申请开通才可以使用,申请修改请联系邮箱:lieg@getui.com 。

使用推送的sdk包版本必须大于等于4.0.1.17。

设定推送的时间格式为yyyyMMddHHmm 例如:201908081900,任务将会在2019年08月08日19点00分推送。

对时间的设定有一定的要求:时间格式不正确 提交任务时 将直接返回失败。

下发时间小于当前时间 提交任务时将直接返回失败。

下发时间必须是7天内的时间,否则将直接返回失败。

请求参数

名称

类型

是否必需

默认值

描述

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

appId列表,只有第一个有效

conditions

AppConditions

筛选条件交并补功能

speed

int

定速推送

例如100,个推控制下发速度在100条/秒左右

pushTime

String

定时推送时间,必须是7天内的时间

格式:yyyyMMddHHmm

此功能需要开通VIP,如需开通请联系 lieg@getui.com

AppConditions

// AppConditions类的实例方法

AppConditions addCondition(String key, List 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 非)

需要发送给城市在A,B,C里面,没有设置tagtest标签,手机型号为ANDROID的用户,用条件交并补功能可以实现,city(A|B|C) && !tag(tagtest) && phonetype(ANDROID)

返回参数

名称

类型

描述

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 appIdList = new ArrayList();

appIdList.add(appId);

message.setAppIdList(appIdList);

// 手机类型

List phoneTypeList = new ArrayList();

phoneTypeList.add("IOS");

phoneTypeList.add("ANDROID");

// 省份

List provinceList = new ArrayList();

// 参见region_code.data

provinceList.add("33010000");//杭州市

provinceList.add("51010000");//成都市

// 自定义tag

List tagList = new ArrayList();

tagList.add("tag001");

// 查询可推送的用户画像(需要开通VIP套餐)

//IQueryResult personaTagResult = push.getPersonaTags(APPID);

//System.out.println(personaTagResult.getResponse());

// 工作

List jobs = new ArrayList();

jobs.add("0102");

jobs.add("0110");

conditions.addCondition("job", jobs);

// 年龄

List age = new ArrayList();

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

结果描述

3.6 返回示例

{

"result":"Success",

"taskDetail":""

}

java接口推送_推送API相关推荐

  1. java 接口中 常量_讨论:Java 接口当中的 “常量接口”

    Java接口当中有一个类型为常量接口,我在网上看到有些人不提倡使用这种方式.具体的原因也没怎么讲,但是在这里我还是想与大家讨论一下这个接口方式的使用. 希望有对此接口使用方式有深刻了解的网友能够多提意 ...

  2. java 接口中 常量_在Java接口中怎样访问定义的常量呢?

    java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能).那么我们在Java接口中怎 ...

  3. SpringCloud工作笔记067---消息推送_推送视频_推送图片_在通知栏里显示图片视频_自定义点击消息后的动作

    JAVA技术交流QQ群:170933152 http://docs.getui.com/getui/server/java/template/ 个推 ,这里有文档,看看就能搞,另外: 在hbuilde ...

  4. html访问java接口出现缓存_一个牛逼的多级缓存实现方案

    点击上方"java进阶架构师",选择右上角"置顶公众号" 20大进阶架构专题每日送达 TMC,即"透明多级缓存(Transparent Multile ...

  5. html访问java接口出现缓存_高可用架构设计(3) -电商商品详情页缓存背景及框架说明...

    Github 0 导读 我们这个教程,基于hystrix,如何来构建高可用的分布式系统的架构,项目实战 模拟真实业务的这么一个小型的项目,来全程贯穿,用这个项目中的业务场景去一个一个的讲解hystri ...

  6. java接口注释_Java的注释和API文档

    Java 语言的注释一共有三种类型: 单行注释 多行注释 文档注释 一.单行注释和多行注释 单行注释就是在程序中注释一行代码,在 Java 语言中,将双斜线(//)放在需要注释的内容之前就可以了 : ...

  7. java接口常见问题分析_常见问题 - Apache ServiceComb

    Q: ServiceComb和SpringCloud是什么关系,具体的应用场景是什么? A: ServiceComb是华为基于内部多个大型IT系统实践提炼出来的一套微服务开发框架,在开发态基于最佳实践 ...

  8. java接口与集合_【总结】Java常用集合接口与集合类

    目录常见集合接口概述Collection Map Collection接口 Map接口 补充内容 常见集合接口概述 Java中包含许多集合接口.其中比较常见的主要是Collection接口和Map接口 ...

  9. java 接口和虚构_深入理解Java的接口和抽象类

    深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...

最新文章

  1. WIN7 数据源配置问题(32位64位)
  2. git 的右键快捷菜单恢复
  3. Centos 7 搭建nginx 服务 使得别人能够访问自己的个人网站
  4. 语言速算24点的小窍门_期末备考:小学数学期末常考题型汇总+速算解题思路分析...
  5. 借助钉钉宜搭,奶茶店开始用黑科技管理门店了
  6. ZZULIOJ 计算两点间的距离(多实例测试)
  7. Spark SQL整合Hive
  8. (五)将YOLOv5 PyTorch模型权重转换为TensorFlow Lite格式
  9. MySQL之SQL优化详解(一)
  10. cv::createTrackbar cv::threshold
  11. [TimLinux] JavaScript AJAX接收到的数据转换为JSON格式
  12. 利用 SQL Monitor 查看语句运行状态步骤
  13. 线程执行者(八)执行者周期性地运行一个任务
  14. x线计算机体层成像设备教案,医学影像设备学第4章-数字X线设备ppt课件
  15. xp系统打印机服务器win7连接不了,xp连不上win7的打印机,win7连接打印机
  16. 云边协同的智能制造系统
  17. 内存取证常见例题思路方法-volatility (没有最全 只有更全)
  18. Android 启动其他应用的Activity或Service失败解决
  19. 网络职业成长规划经验谈
  20. MATLAB 郭彦甫 第十四课练习答案

热门文章

  1. UG NX 12 布尔运算
  2. C语言之Error C2018: unknown character '0x60'
  3. 长沙学院计算机二级报名,湖南计算机等级考试报名地点
  4. 在中国如何使用chatGPT
  5. 跨链技术如何破解区块链的可扩展性难题?
  6. 带有当前位置坐标的地图
  7. 如何对接payjs的个人微信扫码支付接口
  8. 【自然语言处理】【多模态】多模态综述:视觉语言预训练模型
  9. 华为云弹性文件服务 SFS
  10. 用matlab实现任意点图片的旋转_(实验二) --- 图像旋转变换---matlab实现