推送API

推送API

简述

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

  • toSingle :简称“单推”,指向单个用户推送消息
  • toList:简称“批量推”,指向制定的一批用户推送消息
  • toApp:简称“群推”,指向APP符合筛选条件的所有用户推送消息,支持定速推送、定时推送,支持条件的交并补功能
  • toGroup:个推针对直播间提供定制化解决方案,解决直播间海量消息传输。点击查看详细说明

【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:仅移动网络
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天内不活跃用户不下发

返回示例

{
    "result":"ok",
    "taskId":"xxx",
    "status":"successed_online"
}

代码示例

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;

public class PushtoSingle {
    // 详见【概述】-【服务端接入步骤】-【STEP1】说明,获得的应用配置
    private static String appId = "";
    private static String appKey = "";
    private static String masterSecret = "";

    static String CID = "";
    // 别名推送方式
    // static String Alias = "";
    static String host = "http://sdk.open.api.igexin.com/apiex.htm";

    public static void main(String[] args) throws Exception {
        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);
        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("请输入您要透传的内容");
        return template;
    }
}

【toSingle】执行批量单推

功能说明

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

接口说明

IPushResult submit();

调用步骤

STEP1:调用push.getBatch() 获取操作对象
STEP2:调用batch.add() 添加单推任务
STEP3:调用batch.submit() 提交任务

请求参数

推送参数message和target与对单个用户推送消息使用的的参数相同

返回参数

名称 类型 描述
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.TransmissionTemplate;

    public class MyBatchPushDemo {
        // 详见【概述】-【服务端接入步骤】-【STEP1】说明,获得的应用配置
        private static String appId = "";
        private static String appKey = "";
        private static String masterSecret = "";

        static String CID_A = "";
        static String CID_B = "";
        // 别名推送方式
        // static String Alias = "";
        static String host = "http://sdk.open.api.igexin.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
                constructClientTransMsg(CID_A,"msgA",batch);
                // 构建客户B的点击通知打开网页消息b
                constructClientLinkMsg(CID_B,"msgB",batch);
            } catch (Exception e) {
                e.printStackTrace();
            }
            batch.submit();
        }

        private static void constructClientTransMsg(String cid, String msg ,IBatch batch) throws Exception {

            SingleMessage message = new SingleMessage();
            TransmissionTemplate template = new TransmissionTemplate();
            template.setAppId(appId);
            template.setAppkey(appKey);
            template.setTransmissionContent(msg);
            template.setTransmissionType(2); // 透传消息接受方式设置,1:立即启动APP,2:客户端收到消息后需要自行处理

            message.setData(template);
            message.setOffline(true);
            message.setOfflineExpireTime(360 * 1000);

            // 设置推送目标,填入appid和clientId
            Target target = new Target();
            target.setAppId(appId);
            target.setClientId(cid);
            batch.add(message, target);
        }

        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);

            message.setData(template);
            message.setOffline(true);
            message.setOfflineExpireTime(360 * 1000);

            // 设置推送目标,填入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:仅移动网络
data ITemplate 设置推送效果,点击查看详细说明

返回参数

名称 类型 描述
result String 请求结果,其他返回结果详见错误返回值
contentId String 就是taskId,任务ID(格式OSL-yyMM_XXXXXX)

返回示例

{
    "result":"ok",
    "contentId":"xxx"
}

【toList】执行批量推

功能说明

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

对应接口

IPushResult pushMessageToList(String contentId, List<Target> targetList);

限制说明

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

请求参数

名称 类型 是否必需 默认值 描述
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 = "";
    static String host = "http://sdk.open.api.igexin.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);
        // 配置推送目标
        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("请输入您要透传的内容");
        return template;
    }
}

【toList】停止批量推

功能说明

对于客户端在线还没有下发或者离线还没收到的通知,停止下发。

对应接口

boolean stop(String contentId)

请求参数

名称 类型 是否必需 默认值 描述
contentId string 就是taskId,任务ID(格式OSL-yyMM_XXXXXX)

返回参数

名称 类型 描述
- boolean true:成功;
false:失败

【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分推送。
  • 对时间的设定有一定的要求:
    1. 时间格式不正确 提交任务时 将直接返回失败。
    2. 下发时间小于当前时间 提交任务时将直接返回失败。
    3. 下发时间超过系统所允许的最大时间点 提交任务 将直接返回失败

请求参数

名称 类型 是否必需 默认值 描述
message AppMessage 消息体
taskGroupName String 任务别名

AppMessage

名称 类型 是否必需 默认值 描述
isOffline boolean false 是否保持离线消息
offlineExpireTime long 1小时 过多久该消息离线失效(单位毫秒) 支持1-72小时*3600000毫秒
pushNetWorkType long 0 推送网络要求
0:联网方式不限;
1:仅wifi;
2:仅移动网络
data ITemplate 设置推送效果,点击查看详细说明
appIdList List<String> appId列表,只有第一个有效
conditions AppConditions 筛选条件交并补功能
speed int 定速推送
例如100,个推控制下发速度在100条/秒左右
pushTime String 定时推送
格式要求为yyyyMMddHHmm
需要申请开通套餐

AppConditions

// AppConditions类的实例方法
AppConditions addCondition(String key, List<String> values, int optType);
名称 类型 是否必需 默认值 描述
key String 查询条件键(phoneType 手机类型,region 省市,tag 用户标签),其他key可开通VIP套餐,通过查询用户画像接口获取
values List 查询条件值列表,其中
手机型号使用如下参数ANDROIDIOS,需要大写;
省市使用编号,点击下载文件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 = "";
    static String host = "http://sdk.open.api.igexin.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);
        // 推送给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("请输入您要透传的内容");
        return template;
    }

}

【toApp】停止群推

功能说明

对正处于推送状态,或者未接收的消息停止下发

对应接口

boolean stop(String contentId)

返回参数

名称 类型 描述
- boolean true:成功;
false:失败

请求参数

名称 类型 是否必需 默认值 描述
contentId string 就是taskId,任务ID(格式OSL-yyMM_XXXXXX)

【toApp】查询定时任务

功能说明

此接口可根据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":"ok",
    "taskId":"xxx",
      "taskDetail": {
          "desc":"ok",
          "status":"0",
          "pushContent":"xxx",
          "pushTime":"20190814180000",
          "creatTime":"Wed Aug 14 14:14:22 CST 2019",
          "sendResult":"DO_NOT_SEND"
    }
}

【toApp】删除定时任务

功能说明

用来删除还未下发的任务,删除后定时任务不再出发

对应接口

IPushResult delScheduleTask(String taskId, String appId)

限制说明

距离下发还有一分钟的任务,将无法删除任务下发。

请求参数

名称 类型 是否必需 默认值 描述
taskId String 任务ID
appId String 应用唯一ID

返回参数

名称 类型 描述
result String 请求结果,其他返回结果详见错误返回值
taskDetail String 结果描述

3.6 返回示例

{
    "result":"Success",
    "taskDetail":""
}

【toGroup】创建直播间

功能说明

此接口为直播间定制方案,用于主播开播时创建直播间。点此查看接口使用流程

对应接口

IPushResult createGroup(String appId, String groupName);

限制说明

注:该功能需要申请相关套餐,请联系邮箱:lieg@getui.com

请求参数

名称 类型 是否必需 默认值 描述
appId String 应用唯一ID
groupName String 房间名

返回参数

名称 类型 描述
result String 请求结果,其他返回结果详见错误返回值
groupId String 房间ID

返回示例

{
    "result":"Success",
    "groupId":"xxx"
}

【toGroup】更新直播间人员

功能说明

有用户进出直播间时,调用此接口更新直播间人员

对应接口

IPushResult updateGroup(String appId, String groupId, List<String> addCids, List<String> delCids);

限制说明

注:该功能需要申请相关套餐,请联系邮箱:lieg@getui.com

请求参数

名称 类型 是否必需 默认值 描述
appId String 应用唯一ID
groupId String 房间id
addCids List<String> 增加(进入房间)的cid
delCids List<String> 删除(离开房间)的cid

返回参数

名称 类型 描述
result String 请求结果,其他返回结果详见错误返回值

返回示例

{
    "result":"Success"
}

【toGroup】对房间推送消息

功能说明

调用此接口可对直播间内所有用户推送消息

对应接口

IPushResult pushMessageToGroup(String appId, GroupMessage message);

限制说明

注:该功能需要申请相关套餐,请联系邮箱:lieg@getui.com

请求参数

名称 类型 是否必需 默认值 描述
appId String 应用唯一ID
message GroupMessage 消息体

GroupMessage

名称 类型 是否必需 默认值 描述
groupId String 房间ID
requestId String 请求ID
保证每条消息唯一性,防止相同消息重复下发
data ITemplate 设置推送效果,点击查看详细说明

返回参数

名称 类型 描述
result String 请求结果,其他返回结果详见错误返回值
taskId String 任务ID

返回示例

{
    "result":"Success",
    "taskId":"xxxx"
}

【toGroup】注销直播间

功能说明

当主播停止直播时,调用此接口注销直播间

对应接口

IPushResult removeGroup(String appId, String groupId);

限制说明

注:该功能需要申请相关套餐,请联系邮箱:lieg@getui.com

请求参数

名称 类型 是否必需 默认值 描述
appId String 应用唯一ID
groupId String 房间id

返回参数

名称 类型 描述
result String 请求结果,其他返回结果详见错误返回值

返回示例

{
    "result":"Success"
}

【toGroup】查询用户状态

功能说明

根据cid列表查询对应用户是否在线。

对应接口

IPushResult queryCidStatusByGroupid(String appId, String groupId, List<String> cids);

限制说明

注:该功能需要申请相关套餐,请联系邮箱:lieg@getui.com

请求参数

名称 类型 是否必需 默认值 描述
appId String 应用唯一ID
groupId String 房间id
cids List<String> 房间内想要查询的cid列表

返回参数

名称 类型 描述
result String 请求结果,其他返回结果详见错误返回值
cidResults JSONArray cid在离线状态

返回示例

{
    "result":"Success",
    "cidResults":[
        {
            "cid":"online"
        }
    ]
}

【toGroup】查询用户列表

功能说明

此接口用于查询当前直播间用户列表

对应接口

IPushResult queryCidsByGroupid(String appId, String groupId);

限制说明

注:该功能需要申请相关套餐,请联系邮箱:lieg@getui.com

请求参数

名称 类型 是否必需 默认值 描述
appId String 应用唯一ID
groupId String 房间id

返回参数

名称 类型 描述
result String 请求结果,其他返回结果详见错误返回值
cidList Array cid列表

返回示例

{
    "result":"Success",
    "cidList":[
        "cid1",
        "cid2"
    ]
}
开发者中心 SDK 下载

文档中心搜索