自定义命令

更新时间: 2022/09/27 08:54:23

  • API原型
java/**
 * 该接口用于在频道中透传一些自定义指令,协助频道管理。该接口允许非频道内成员调用,但接收者必须是频道内成员或创建者
 * @param channelId  频道id
 * @param accountId  对方accid,如果为空,则通知所有人
 * @param customInfo 操作者附加的自定义信息,透传给其他人,可缺省
 * @return InvocationFuture<Void>
 */
InvocationFuture<Void> sendControl(String channelId, String accountId, String customInfo);
  • 说明

返回请注意处理相应错误码, 参考错误码。建议将回调设置成 RequestCallbackWrapper,并通过返回的相应code 去处理相关的逻辑 ,code = 200 为成功。如果用link RequestCallback 那么错误码将在link RequestCallback#onFailed(int code)返回。

  • 示例
java/**
 * 发送自定义命令
 */
private void sendCtrl() {
    if (channelFullInfo == null) {
        Toast.makeText(this, "请先创建频道或加入频道", Toast.LENGTH_SHORT).show();
        return;
    }
    String customInfo = edtCtrl.getText().toString().trim();
    if (TextUtils.isEmpty(customInfo)) {
        Toast.makeText(this, "请先填写自定义命令", Toast.LENGTH_SHORT).show();
        return;
    }

    String account = edtCtrlAccount.getText().toString().trim();
    if (TextUtils.isEmpty(account)) {
        Toast.makeText(this, "命令将发给所有人", Toast.LENGTH_SHORT).show();
    }
    service.sendControl(channelFullInfo.getChannelId(), account, customInfo).setCallback(new RequestCallback<Void>() {
        @Override
        public void onSuccess(Void param) {
            Toast.makeText(this, "发送自定义命令成功", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onFailed(int code) {
             Toast.makeText(this, "发送自定义命令失败 :code = " + code, Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onException(Throwable exception) {
            Toast.makeText(this, "发送自定义命令异常 :exception = " + exception, Toast.LENGTH_SHORT).show();
        }
    });

}
此文档是否对你有帮助?
有帮助
去反馈