华为云用户手册

  • isOpenMicrophoneIncoming 接口描述 该接口用于自定义被邀入会时麦克风的开关状态。 注意事项 如果设置除主持人外的与会方入会后自动静音则该自定义无效果; 方法定义 1 - (BOOL)isOpenMicrophoneIncoming; 参数描述 无 示例代码 1 2 3 4 /// 被邀入会时是否打开麦克风 - (BOOL)isOpenMicrophoneIncoming { return NO; }
  • 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /// 加入会议 - (void)joinMeeting { HWMJoinConfParam *param = [[HWMJoinConfParam alloc] init]; param.confId = @"989156631"; param.password = getPassword(); param.nickname = @"杭州会场"; param.isCameraOn = NO; param.isMicOn = YES; [[HWMSdk getOpenApi] joinConf:param callback:^(NSError * _Nullable error, id _Nullable result) { if (error) { NSLog(@"入会失败%@", error.localizedDescription); } else { NSLog(@"入会成功"); } }]; } 在未登录状态下调用该接口时,nickname参数必填。
  • 业务流程 接口调用 根据申请的App ID、Key,并获取Access Token参考: - 介绍:开发指南-App ID鉴权介绍; - 获取Access Token的REST接口: 执行App ID鉴权; 以获取到的Access Token作为SDK的joinConf接口的入参(注意参数名为:token)。 只能通过后台调用REST接口获取Access Token,不能在浏览器前台调用该接口,否则会出现CORS错误。 处理回调函数 处理回调函数join_conf_result。
  • 自定义日志保存路径 在OpenSDKConfig中配置自定义的SDK日志保存的路径 使用场景 SDK默认的日志路径是/sdcard/Android/data/应用的包名/files/log 用户可以根据自己需要修改日志的存放路径 注意事项 1.自定义日志保存路径后,取日志也确保使用相应的路径,取日志参考获取Android SDK的日志 2.SDK初始化的时候必须传入这个配置sdkConfig才会生效 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 //自定义日志保存路径 public class CustomLoggerHandle implements ILoggerHandle { private Application application; public CustomLoggerHandle(Application application) { this.application = application; } //自定义日志保存地址 @Override public String getLogPath() { return FileUtil.getExternalFilesDir(this.application) + "/log/meeting/"; } } sdkConfig.setLoggerHandle(new CustomLoggerHandle()); 父主题: 基础配置
  • GetAudienceList 接口描述 该接口用于获取会议中观众列表。 注意事项 只能在会议中使用 观众身份(可以通过会议详情消息推送获取)不能使用此接口 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode GetAudienceList(); 回调函数 1 virtual void OnGetAudienceListResult(const HwmAttendeeInfo* audidenceList, unsigned int length)override {}; 参数描述 HWMAttendeeInfo参数说明
  • joinConf 接口描述 该接口用于通过会议ID和密码加入已经存在的会议。加入会议的方式有两种: 会议ID+会议密码入会:手动输入会议ID和会议密码密码。 会议ID+Random入会:通过邮件会议通知中的会议链接入会时(会议链接如:https://bmeeting.huaweicloud.com/#/j/981924330/e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659),链接里面的是会议ID(即举例中的981924330)和会议的Random码(即举例中的e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659)。 注意事项 ID入会参数使用子类HWMJoinConfParam,random入会参数使用子类HWMRandomConfParam 在登录和未登录状态下都可以调用该接口。 实际业务处理结果在对应的callback回调中。 方法定义 1 - (void)joinConf:(HWMBaseJoinConfParam * _Nonnull)param callback:(_Nonnull HWMSDKCompleteHandler)callback; 参数描述 表1 HWMBaseJoinConfParam 参数 是否必须 类型 描述 confId 是 NSString * 会议ID。 nickname 否 NSString * 会议昵称。在已登录状态下可为空,已登录时为空将使用登录的用户名作为会场名。 isCameraOn 否 BOOL 是否打开摄像头,默认关闭。 isMicOn 否 BOOL 是否打开麦克风,默认打开。 isSpkOn 否 BOOL 是否打开扬声器,默认打开 表2 HWMJoinConfParam参数说明,继承HWMBaseJoinConfParam 参数 是否必须 类型 描述 password 否 NSString * 会议密码。若希望以主持人身份入会,必须传入主持人密码。若希望以来宾身份入会,会议要求来宾密码时,必现传入来宾密码,会议不要求来宾密码时,可以为空。 isStopConflictConf 否 BOOL 强制结束和当前VMR会议资源冲突的会议(必需是vmr资源的拥有者才有权限,否则无效) 表3 HWMRandomConfParam参数说明,继承HWMBaseJoinConfParam 参数 是否必须 类型 描述 random 是 NSString * random入会时传入。 domain 否 NSString * 域名。离线入会时使用。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 /// 加入会议 - (void)joinMeeting { HWMJoinConfParam *param = [[HWMJoinConfParam alloc] init]; param.confId = @"989156631"; param.password = getPassword(); param.nickname = @"杭州会场"; param.isCameraOn = NO; param.isMicOn = YES; [[HWMSdk getOpenApi] joinConf:param callback:^(NSError * _Nullable error, id _Nullable result) { if (error) { NSLog(@"入会失败%@", error.localizedDescription); }else{ NSLog(@"入会成功"); } }]; } /// random入会 - (void)joinMeetingByRandom { HWMRandomConfParam *param = [[HWMRandomConfParam alloc] init]; param.confId = @"989156631"; param.random = getRandom(); param.nickname = @"杭州会场"; param.isCameraOn = NO; param.isMicOn = YES; [[HWMSdk getOpenApi] joinConf:param callback:^(NSError * _Nullable error, id _Nullable result) { [self hideLoading]; if (error) { NSLog(@"入会失败%@", error.localizedDescription); }else{ NSLog(@"入会成功"); } }]; }
  • JoinConfByRandom 接口描述 通过邮件会议通知中的会议链接入会时(会议链接如:https://bmeeting.huaweicloud.com/#/j/981924330/e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659),链接里面的是会议ID(即举例中的981924330)和会议的Random码(即举例中的e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659)。第三方App需要调用本接口加入会议。 如果预约会议时选择没有来宾密码,会议链接只有会议ID,没有Random码。 注意事项 在登录和未登录状态下都可以调用该接口。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode JoinConfByRandom(HwmJoinConfByRandomInfo *joinConfByRandomInfo); 回调函数 1 virtual void OnJoinConfByRandomResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 表1 结构体HwmJoinConfByRandomInfo参数说明 参数 是否必须 类型 描述 confId 是 char[] 会议ID。 random 否 char[] 48位会议密码映射值。来源于分享会议信息中的会议链接尾部。会议不要求来宾密码时,可以为空字符串。 name 否 char[] 会议昵称。在已登录状态下可为空,已登录时为空将使用登录的用户名作为会场名。匿名入会必须传该名字或者提前设置会场名。 domain 否 char[] 域名。离线入会时使用。 isCloseSpk 否 bool 是否关闭扬声器,true关闭扬声器;false不关闭扬声器。 返回值 表2 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 // 通过会议ID和Random加入会议 int demoJoinConfByRandomDlg::clickJoinConfByRandom() { // 填写会议ID和密码映射值等;Random入会时,支持配置会场名称 string meetingID = CTools::UNICODE2UTF(CString("988148352")); string accessCode = CTools::UNICODE2UTF(CString("c4f92bc34e685bbba6c23589741be0431997f30da5d6e47b")); string participantName = CTools::UNICODE2UTF(CString("杭州会场")); hwmsdkagent::HwmJoinConfByRandomInfo data; memset(&data, 0, sizeof(hwmsdkagent::HwmJoinConfByRandomInfo)); strncpy_s(data.confId, meetingID.c_str(), HWM_MAX_CONF_ID_LEN); strncpy_s(data.random, accessCode.c_str(), HWM_MAX_RANDOM_LEN); strncpy_s(data.name, participantName.c_str(), HWM_MAX_DISPLAY_NAME_LEN); data.isCloseSpk = false; // 设置麦克风和摄像头开关 int ret = EnableFeature(hwmsdkagent::HWM_ENABLE_FEATURE_TYPE_MIC_SWITCH, true); ret = EnableFeature(hwmsdkagent::HWM_ENABLE_FEATURE_TYPE_CAM_SWITCH, false); ret = hwmsdkagent::JoinConfByRandom(&data); return ret; } 在加入会议前可通过调用EnableFeature修改麦克风、摄像头状态。
  • screenShareCoverView 接口描述 该接口用于屏幕共享/白板共享设置水印。该水印是在接收端叠加到共享内容上的。服务器上配置后才会显示水印。 1、在桌面共享、程序共享、白板共享的接收端叠加水印图片,只有服务器上会中水印打开的情况下自定义水印才生效。如果不自定义,默认按照手机号、邮箱、会议ID+昵称优先级顺序显示,字体透明度10%。 2、自定义水印时用户截屏时会有弹窗提示,如果不需要在初始化时配置关闭。 图1 设置水印效果,图片仅为示例 注意事项 注意不要添加全局手势。 自定义视图为全屏View,在共享视图上层,请设置合适透明度防止遮盖分享信息。 自定义弹窗提示是否需要关闭需在SDK初始化时配置参数enablePromptUserScreenshot 方法定义 1 - (UIView *)screenShareCoverView; 参数描述 无 返回值 无 示例代码 1 2 3 4 5 6 7 /// 屏幕共享/白板共享的设置水印。注意不要添加全局手势 - (UIView *)screenShareCoverView { UIImageView *coverImgView = [[UIImageView alloc] init]; coverImgView.image = [UIImage imageNamed:@"img"]; coverImgView.alpha = 0.2; return coverImgView; }
  • 参数描述 表1 枚举HwmUserCorpInfoNotifyType说明 参数 描述 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_DELETE 用户已注销。 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_JOIN_NEW_CORP 用户已加入新的企业(接受邀请、创建企业变成新企业的用户)。 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_LEAVE_CURRENT_CORP 用户已被移出当前企业(企业管理员删除、解散、用户主动离开企业变成注册用户)。 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_RESET 用户重置(Smartrooms账号被重置激活码或者账号被删除)。 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_VMR_CHANGE 用户vmr变化。 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_NAME_CHANGE 用户姓名变更。 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_STATUS_CHANGE 接入账号状态变化。
  • 参数描述 表1 结构体HwmConfStateInfo参数说明 参数 类型 描述 state HwmState 会议状态。 reason HwmConfEndReason 离会原因。 isP2PConf bool 是否立即会议。 表2 枚举HwmState说明 枚举值 描述 HWM_STATE_OFF 会议未开始或已离开状态。 HWM_STATE_ON 会议已开始状态。 表3 枚举HwmConfEndReason说明 枚举值 描述 HWM_CONF_END_REASON_LEAVE_CONF_HANGUP 离开会议。 HWM_CONF_END_REASON_STOP_CONF_HANGUP 会议已结束。 HWM_CONF_END_REASON_CHAIR_HANGUP 被主持人移出会场。 HWM_CONF_END_REASON_SESSION_TIMER_TIMEOUT 网络中断。 HWM_CONF_END_REASON_NOSTREAM_HANGUP 网络异常。 HWM_CONF_END_REASON_CORP_CONFERENCE_RESOURCE_HAS_BEEN_RUN_OUT 企业资源已达上限。 HWM_CONF_END_REASON_CONF_ONLY_SAME_ENTERPRISE 只允许企业内用户加入会议 HWM_CONF_END_REASON_CONF_ONLY_INVITED 只允许被邀请者加入会议 HWM_CONF_END_REASON_CONF_IS_LOCKED 会议被锁定 HWM_CONF_END_ERR_VMR_NOT_BEEN_HOLD VMR会议来宾不允许激活会议 HWM_CONF_END_REASON_VMR_CONF_CONFLICT VMR会议冲突 HWM_CONF_END_REASON_SERVER_ERROR 服务器异常 HWM_CONF_END_REASON_NUM_OF_PAR_EXCEEDS_UPPER_LIMIT 与会方超出专用VMR套餐的最大与会人数 HWM_CONF_END_REASON_CONF_NUM_OVER_MAX_ALLOWED = 111071116 超出最大在线会议数限制 HWM_CONF_END_MANAGER_SHARE_VMR_NOT_ENOUGH = 111071151 无共享云会议室资源 HWM_CONF_END_REASON_OVER_MAX_PARTICIPANT_NUMBER = 111072101 超过设置的会议方数 HWM_CONF_END_REASON_PARTICIPANT_REACH_MAX_NUM = 111072504 达到系统单个会议人数上限 HWM_CONF_END_REASON_PARTICIPANT_CONF_NOT_EXIST = 111081002 会场所在会议不存在或已结束 HWM_CONF_END_MANAGER_NO_UPSCALE_VMR = 112030001 无高档可用的VMR资源 HWM_CONF_END_REASON_END_EXPIRATION = 414100069 用户,企业或SP失效 HWM_CONF_END_REASON_SDK_CHAIR_END_CONF = 414100074 主持人结束会议 HWM_CONF_END_REASON_SDK_TIMEOVER_END_CONF = 414100075 会议到时间结束会议 HWM_CONF_END_REASON_CALLEE_REFUSED_END_CONF = 414100076 被叫拒接 HWM_CONF_END_REASON_CALLEE_TIMEOUT_END_CONF = 414100077 被叫超时 HWM_CONF_END_FORCE_OPEN_CAMERA_HANGUP = 414100078 强制视频会议挂断 HWM_CONF_END_REASON_RTC_SDK_NETWORK_FAILED = 990000053 网络问题
  • 方法定义 1 - (NSView *)socialShareView:(HWMConfStateInfo *)confInfo; 示例代码 - (NSView *)socialShareView:(HWMConfStateInfo *)confDetail { if (!self.socialView) { self.socialView = [[HWMSocialView alloc] initWithFrame:NSMakeRect(0, 0, 500, 300)]; self.socialView.wantsLayer = YES; self.socialView.layer.backgroundColor = [NSColor whiteColor].CGColor; } self.socialView.confDetail = confDetail; return self.socialView; } 表1 参数说明 参数 类型 描述 confInfo HWMConfStateInfo * 会中会议状态详情 表2 HWMConfStateInfo 说明 参数 类型 描述 confId NSString * 会议id。 confSubject NSString * 会议主题。 chairmanPwd NSString * 主持人密码。 generalPwd NSString * 来宾密码。 startTime NSTimeInterval 会议开始时间,UTC时间戳,精度秒。 endTime NSTimeInterval 会议开始时间,UTC时间戳,精度秒。 videoConf BOOL 是否是视频会议。 confScheduleName NSString * 预订者姓名。 chairJoinUri NSString * 主持人加入会议uri链接。 guestJoinUri NSString * 普通与会者加入会议uri链接。 vmrConferenceId NSString * VMR会议显示ID。 role HWMConfRoleType 角色。 orgId NSString * 会议所属的企业id。用户判断是否是外部人员入会,登录结果中有个corpId上报,登录的企业ID与会议的企业ID不是一个,说明为外部。 customInfo NSString * 自定义信息(会议详情、会中消息推送可以查看)
  • 自定义开关会中聊天功能 在OpenSDKConfig中配置是否会中开启聊天功能 开启聊天功能,会中菜单有聊天功能的按钮显示图1 关闭聊天功能,会中菜单没有聊天功能的按钮图2 使用场景 应用中不需要会中聊天的功能,可以屏蔽对应的功能 注意事项 1.SDK初始化的时候必须传入这个配置sdkConfig才会生效 图1 会中聊天开启 图2 会中聊天关闭 示例代码 1 2 OpenSDKConfig sdkConfig = new OpenSDKConfig(Context) .setNeedConfChat(false) 父主题: 基础配置
  • cancelCycleConf 接口描述 该接口用于取消至少还有一场子会议未开始的周期会议。 注意事项 该接口在登录状态下才能调用。 最后一场子会议未开始前可以调用接口,开始后调用则无效。 方法定义 1 - (void)cancelCycleConf:(NSString *_Nonnull)confId callback:(_Nonnull HWMSDKCompleteHandler)callback; 参数描述 表1 参数说明 参数 是否必须 类型 描述 confId 是 NSString * 会议id 示例代码 1 2 3 4 5 6 7 8 /// 取消周期会议 - (void)cancelCycleConf { NSString *confId = "989156631"; [[HWMBizSdk getBizOpenApi] cancelCycleConfWithParam:cancelParam callback:^(NSError * _Nullable error, id _Nullable result) { NSString *tips = !error ? @"取消周期会议成功" : @"取消周期会议失败"; NSLog(@"%@",tips); }]; }
  • 参数描述 表1 结构体HwmShareStateInfo参数说明 参数 类型 描述 state HwmState 共享状态。 name char[] 共享者名称。当state为HWM_STATE_ON时才有数据。 number char[] 共享者号码。当state为HWM_STATE_ON时才有数据。 shareType HwmShareType 共享类型。 monitor HwmMonitor 共享显示器类型(主屏、副屏)。 appHandle HWND 程序句柄。 表2 枚举HwmState说明 枚举值 描述 HWM_STATE_OFF 共享已关闭。 HWM_STATE_ON 共享已开启。 表3 枚举HwmShareType说明 枚举值 描述 HWM_SHARE_TYPE_MONITOR 屏幕共享。 HWM_SHARE_TYPE_APP 程序共享。 HWM_SHARE_TYPE_WHITE_BOARD 白板共享。 表4 枚举HwmMonitor说明 枚举值 描述 HWM_MONITOR_MAIN 主显示器。 HWM_MONITOR_SECONDARY 副显示器。
  • bookCycleConf 接口描述 该接口用于预约周期会议。 注意事项 不在登录状态下,不应调用该接口。 会议开始时间必须晚于当前时间,会议时长应大于15分钟。 个人会议或者云会议室的时候要传入vmrId。 携带与会者入会的时候需要传入attendees。 周期会议最大跨度一年,会议数量不超过50,超过则只预约前50个会议callback中的result返回会议详情信息(HWMConfDetail类型说明) 方法定义 1 - (void)bookCycleConf:(HWMOrderCycleConfParam *_Nonnull)param callback:(_Nonnull HWMSDKCompleteHandler)callback 参数描述 表1 HWMOrderCycleConfParam参数说明 参数 是否必须 类型 描述 orderConfParam 是 HWMOrderConfParam 普通会议参数 cycleParam 是 HWMSDKCycleConfParamModel 周期会议参数 表2 HWMSDKCycleConfParamModel参数说明 参数 是否必须 类型 描述 startDate 是 NSUInteger 开始日期-时间戳,精度秒(0时区) endDate 是 NSUInteger 结束日期-时间戳,精度秒(0时区) cycleType 是 HWMCycleType 周期类型 interval 是 NSUInteger 周期区间。 1、周期类型选择了按天,表示每几天召开一次,取值范围[1,15]; 2、周期类型选择了Week,表示每几周召开一次,取值范围[1,5]; 3、周期类型选择了Month,interval表示隔几月,取值范围[1,3] listPoints 是 NSString * 周期内的会议召开点。仅当按周和月时有效。数据格式(中间用逗号隔开):1,3,5,7 - 当按周时,取值范围[0,6],0代表周日,1代表周一,以此类推; - 当按月时,取值范围[1,31],若当月不含31号,则认为是当月最后一天 preRemindDays 是 NSUInteger 周期子会议提前通知天数。 表3 枚举HWMCycleType说明 值 说明 HWMSDKCycleTypeDay 以天为周期 HWMSDKCycleTypeWeek 以周为周期 HWMSDKCycleTypeMonth 以月为周期 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 /// 预约周期会议 - (void)bookCycleConf{ HWMOrderCycleConfParam * cycleConfParam = [[HWMOrderCycleConfParam alloc] init]; cycleConfParam.orderConfParam.confSubject = @"我的预约会议"; cycleConfParam.orderConfParam.confType = OrderConfTypeVideo; cycleConfParam.orderConfParam.isNeedConfPwd = YES; cycleConfParam.orderConfParam.isAutoRecord = YES; cycleConfParam.orderConfParam.isRecordOn = YES; cycleConfParam.orderConfParam.startTime = 1633017600; //utc时间戳,单位秒,如果获取的时间是本地时间,需要转换成utc时间 cycleConfParam.orderConfParam.duration = 30; //会议持续时长(分钟) cycleConfParam.orderConfParam.timeZone = 56; cycleConfParam.orderConfParam.callInRestrictionType = HWMJoinConfRestrictionAll; HWMAttendeeInfo * attendeeInfo = [[HWMAttendeeInfo alloc] init]; attendeeInfo.name = @"Mike"; attendeeInfo.number = @"+991116003543"; attendeeInfo.isMute = YES; cycleConfParam.orderConfParam.attendee = @[attendeeInfo]; HWMSDKCycleConfParamModel * cycleConfParamModel = [[HWMSDKCycleConfParamModel alloc] init]; cycleConfParamModel.startDate = 1633017600; //utc时间戳,单位秒,如果获取的时间是本地时间,需要转换成utc时间; cycleConfParamModel.endDate = 1636560000; cycleConfParamModel.cycleType = HWMSDKCycleTypeWeek; cycleConfParamModel.preRemindDays = 1; cycleConfParam.cycleParam = cycleConfParamModel; [[HWMBizSdk getBizOpenApi] bookCycleConf:cycleConfParam callback:^(NSError * _Nullable error, id _Nullable result) { if (!error) { NSLog(@"book cycle conf success"); [UIUtil showMessage:@"预约周期会议会议成功"]; }else{ NSLog(@"book cycle conf fail errorCode : %zd",error.code); [UIUtil showMessage:[NSString stringWithFormat:@"预约周期会议失败:%zd %@", error.code, error.localizedDescription]]; } }]; }
  • 开启共享声音功能 配置开启共享时包含电脑声音功能,调用enableSDKCapability接口 示例代码 /// 开启共享声音 [[HWMBizSdk getBizOpenApi] enableSDKCapability:HWMSDKCapabilitySuportShareAudio]; 配置开启共享时包含电脑声音功能后,用户发起共享时,在开始共享窗口会显示【共享时包含电脑声音】选项。若未配置开启该功能,则窗口上不显示该选项。如下图: 取消 App Sandbox 功能 SDK 自动安装音频驱动插件需要关闭 App Sandbox 功能,并获取 root 权限。 在 App 的 entitlements 描述文件中,删除 App Sandbox 条目。如下图: 取消 App Sandbox 功能后,首次点击勾选【共享时包含电脑声音】选项时,会获取 root 权限。在用户单击【好】后,开始自动安装音频驱动插件。如下图: 若未取消 App Sandbox 功能,首次点击勾选【共享时包含电脑声音】选项时,会弹框提示到官网下载。在用户单击【下载】后,会跳转到官网。如下图: 下载链接可通过initWithConfig接口中的appUrl字段配置,该接口用于启动并初始化SDK,参考8.5.1.1 初始化部分。若未配置appUrl,则不显示下载。 App Sandbox 功能取消后,App 内获取到的用户路径会发生变化,App 会无法上架到 Mac App Store。
  • 开启隐藏非视频与会者功能 示例代码 /// 开启显示隐藏非视频与会者选项 [[HWMBizSdk getBizOpenApi] enableSDKCapability:HWMSDKCapabilitySuportHideNoCameraView]; 开启后,在会议设置中可以看到隐藏非视频与会者选项: 示例代码 /// 关闭隐藏非视频与会者选项 [[HWMBizSdk getBizOpenApi] disableSDKCapability:HWMSDKCapabilitySuportHideNoCameraView]; 关闭后,会议设置不显示隐藏非视频与会者选项。
  • enableSDKCapability 接口描述 用于开启特性支持。 方法定义 1 - (void)enableSDKCapability:(HWMSDKCapabilitySuport)type; 参数描述 表1 HWMSDKCapabilitySuport说明 参数 类型 描述 HWMSDKCapabilitySuportVideoHD NSUInteger 开启720P高清视频,默认360P。 HWMSDKCapabilitySuportShareAudio NSUInteger 开启显示共享时包含电脑声音选项,默认不开启。 HWMSDKCapabilitySuportHideNoCameraView NSUInteger 开启显示隐藏非视频与会者选项,默认开启。 HWMSDKCapabilitySuportBreakoutConf NSUInteger 开启分组会议,默认开启。 HWMSDKCapabilitySuportConfirmRecord NSUInteger 录制安全提示,默认不开启。
  • 支持审计的关键操作列表 云审计服务支持的标签管理服务操作列表如表1所示。 表1 云审计服务支持的TMS操作列表 操作名称 资源类型 事件名称 创建预定义标签 predefineTag addPredefineTag 删除预定义标签 predefineTag deletePredefineTag 修改预定义标签 predefineTag modifyPredefineTag 创建资源标签 application createResourceTag 删除资源标签 application deleteResourceTag 批量添加标签 resourceTag batchCreateResourceTags 批量移除标签 resourceTag batchDeleteResourceTags 父主题: 审计
  • 约束与限制 预定义标签导入功能支持将第三方导出的“.csv”文件直接导入标签管理服务使用,且“.csv”文件的编码格式须为“UTF-8”。 IE9浏览器导出的标签文件或下载的模板文件,不支持在其他浏览器导入。反之,其他浏览器导出下载的文件,不支持在IE9导入。 若当前环境与导入文件存在重复内容时,将在执行导入操作后被覆盖。 当您对导入标签进行编辑操作时,需要关注以下标签约束与限制: 每个账号最多支持创建500个预定义标签。 键的长度最大36字符,由英文字母、数字、下划线、中划线、中文字符组成。 值的长度最大43字符,由英文字母、数字、下划线、点、中划线、中文字符组成。 待导入的“.csv”文件不支持Excel操作,否则将产生标签乱码致使导入失效。推荐使用记事本打开修改。
  • 约束与限制 设置搜索指定标签时最多可同时查找10个标签。 如果需要设置搜索指定标签时,“键”为必填项,“值”为可选填写项。 每个资源最多支持10个键-值对。 对于每个资源,每个标签“键”都必须是唯一的,每个标签“键”只能有一个“值”。 键的长度最大36字符,由英文字母、数字、下划线、中划线、中文字符组成。 值的长度最大43字符,由英文字母、数字、下划线、点、中划线、中文字符组成。 每次最多支持为标签批量绑定500个云资源。
  • 示例流程 图1 给用户授权TMS权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予标签管理服务只读权限“TMS ReadOnlyAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,验证权限: 在“服务列表”中选择标签管理服务 TMS,进入标签管理服务界面,单击左侧的“预定义标签”,进入“预定义标签”页面,可以在预定义标签列表查看已存在的预定义标签,然后单击右上角的“创建标签”,尝试创建预定义标签,如果无法创建预定义标签(假设当前权限仅包含TMS ReadOnlyAccess),表示“TMS ReadOnlyAccess”已生效。 在“服务列表”中选择除标签管理服务外(假设当前权限仅包含TMS ReadOnlyAccess)的任一服务,若提示权限不足,表示“TMS ReadOnlyAccess”已生效。
  • 使用限制 单账号跟踪的事件可以通过云审计控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的CTS/system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到对象存储服务(OBS),才可在OBS桶里面查看历史文件。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。
  • 什么是标签管理服务 标签管理服务(Tag Management Service,简称TMS)是一种快速便捷将标签集中管理的可视化服务,提供跨区域、跨服务的集中标签管理和资源分类功能。 标签用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境等)对云资源进行分类。 图1 标签示例 图1说明了标签的工作方式。在此示例中,您为每个云资源分配了两个标签,每个标签都包含您定义的一个“键”和一个“值”,一个标签使用键为“所有者”,另一个使用键为“用途”,每个标签都拥有相关的值。 您可以根据为云资源添加的标签快速搜索和筛选特定的云资源。例如,您可以为账号中的云资源定义一组标签,以跟踪每个云资源的所有者和用途,使资源管理变得更加轻松。 标签管理服务主要有以下功能: 资源标签管理:通过给账号下资源添加标签,可以对资源进行自定义标记,实现资源的分类。标签管理服务为用户提供可视化表格操作资源标签,并支持对标签进行批量编辑。 资源标签搜索:用户可以跨服务、跨区域对资源进行按标签搜索,还可以多标签组合搜索。 预定义标签管理:用户可以创建或导入/导出预定义标签。通过标签的预定义操作,用户可以从自身业务角度规划标签,实现标签的高效管理。 标签管理服务为免费服务。
  • 操作(Action) 操作(Action)即为策略中支持的操作项。 “访问级别”列描述如何对操作进行分类(list、read和write等)。此分类可帮助您了解在策略中相应操作对应的访问级别。 “资源类型”列指每个操作是否支持资源级权限。 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在策略语句的Resource元素中指定所有资源类型(“*”)。 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。 关于Config定义的资源类型的详细信息请参见资源类型(Resource)。 “条件键”列包括了可以在策略语句的Condition元素中支持指定的键值。 如果该操作项资源类型列存在值,则表示条件键仅对列举的资源类型生效。 如果该操作项资源类型列没有值(-),则表示条件键对整个操作项生效。 如果此列没有值(-),表示此操作不支持指定条件键。 关于Config定义的条件键的详细信息请参见条件(Condition)。 您可以在SCP策略语句的Action元素中指定以下TMS的相关操作。 表1 TMS支持的操作项 操作项 描述 访问级别 资源类型(*为必须) 条件键 tms:predefineTags:list 授予权限以查询预定义标签列表。 list - - tms:predefineTags:create 授予权限以创建预定义标签。 write - - tms:predefineTags:update 授予权限以更新预定义标签。 write - - tms:predefineTags:delete 授予权限以删除预定义标签。 write - - tms:resourceTags:list 授予权限以查询资源标签列表。 list - - tms:resourceTags:create 授予权限以创建资源标签。 write - - tms:resourceTags:delete 授予权限以删除资源标签。 write - - tms:resources:list 授予权限以查询资源列表。 list - - tms:tagKeys:list 授予权限以查询标签key列表。 list - - tms:tagValues:list 授予权限以查询标签values列表。 list - -
  • 如何访问 公有云提供了Web化的服务管理平台,即管理控制台和基于HTTPS请求的API(Application Programming Interface)管理方式。 API方式 如果用户需要将公有云平台上的标签管理服务集成到第三方系统,用于二次开发,请使用API方式访问标签管理服务。具体操作请参见《标签管理服务API参考》。 管理控制台方式 管理控制台是网页形式的,您可以使用直观的界面进行相应的操作。登录管理控制台,单击主页左上角的,选择“管理与监管”下的“标签管理服务”以打开本服务界面。
  • TMS权限 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 TMS部署时不区分物理区域,为全局级服务。授权时,在全局项目中设置策略,访问TMS时,不需要切换区域。 根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于云服务平台各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对TMS服务,管理员能够控制IAM用户仅能对TMS服务进行指定的操作,如仅给IAM用户授予查看预定义标签的细粒度授权项,那么此IAM用户仅能查看预定义标签但不能创建和删除预定义标签。多数细粒度策略以API接口为粒度进行权限拆分,TMS支持的API授权项请参见策略及授权项说明。 如表1所示,包括了TMS的所有系统策略和系统角色。由于华为云各服务之间存在业务交互关系,标签管理服务的策略依赖其他服务的策略实现功能。因此给用户授予标签管理服务的权限时,需要同时授予依赖的权限,标签管理服务的权限才能生效。 表1 TMS系统权限 系统角色/策略名称 描述 类别 依赖关系 TMS FullAccess 标签管理服务所有权限。 系统策略 - TMS ReadOnlyAccess 标签管理服务只读权限。 系统策略 - TMS Administrator 标签管理服务管理员权限,拥有该服务下的所有权限,包括预定义标签的查询、创建、删除、导入和导出,以及资源标签的增删改查权限。 系统角色 依赖以下策略: Tenant Guest:全局级/项目级策略,全部云服务只读权限((除IAM权限))。 Server Administrator:项目级策略,在同项目中勾选。 Tenant Administrator:全局级/项目级策略,全部云服务管理员(除IAM管理权限)。 IMS Administrator:项目级服务,在同项目中勾选。 AutoScaling Administrator:项目级服务,在同项目中勾选。 VPC Administrator:项目级服务,在同项目中勾选。 VBS Administrator:项目级服务,在同项目中勾选。 表2列出了TMS常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表2 常用操作与系统权限的关系 操作 TMS FullAccess TMS ReadOnlyAccess TMS Administrator 查询资源列表 √(依赖各云服务的查询资源权限) √(依赖各云服务的查询资源权限) √(依赖Tenant Guest) 创建标签键 √ x √(依赖Tenant Guest) 查看资源标签 √ √ √(依赖Tenant Guest) 创建资源标签 √(依赖各云服务的创建标签权限) x √(依赖Tenant Guest及云资源对应的项目策略,如需要管理VPC的标签,需在同项目中勾选。) 修改资源标签 √(依赖各云服务的创建、删除、查看标签权限) x √(依赖Tenant Guest及云资源对应的项目策略,如需要管理VPC的标签,需在同项目中勾选。) 删除资源标签 √(依赖各云服务的删除标签权限) x √(依赖Tenant Guest及云资源对应的项目策略,如需要管理VPC的标签,需在同项目中勾选。) 查询预定义标签 √ √ √ 创建预定义标签 √ x √ 删除预定义标签 √ x √ 导出预定义标签 √ √ √ 导入预定义标签 √ x √ 在TMS控制台对云资源的标签进行操作时,您需要具有TMS查看、创建、删除资源标签等权限,以及资源所属服务的必要权限。由于修改资源标签是通过先删除旧标签再创建新标签(标签键相同,标签值不同)来实现功能,所以要修改云资源的标签需要具备TMS和相应云服务的创建和删除标签的权限。 以系统权限为例:例如您需要在TMS控制台对ECS资源进行增删标签操作,那么您除了需要具有“TMS FullAccess”系统权限外,还需要拥有“ECS FullAccess”系统权限。 以自定义策略为例:例如您需要在TMS控制台上查看ECS的资源和标签,那么您除了需要具有“tms:resourceTags:list”权限外,您还需要拥有ECS服务的“ecs:servers:getTags”和“ecs:servers:get”权限。 IAM支持服务的所有系统权限请参见系统权限。有关各服务细粒度授权项的更多信息,请参见每个服务的文档。
  • 身份认证与访问控制 统一身份认证(Identity and Access Management,简称IAM)是华为云提供权限管理、访问控制和身份认证的基础服务,您可以使用IAM创建和管理用户、用户组,通过授权来允许或拒绝他们对云服务和资源的访问,通过设置安全策略提高账号和资源的安全性,同时IAM为您提供多种安全的访问凭证。 标签管理服务支持通过IAM权限策略进行访问控制。IAM权限是作用于云资源的,定义了允许和拒绝的访问操作,以此实现云资源权限的访问控制。管理员创建IAM用户后,需要将用户加入到一个用户组中,IAM可以对这个组授予所需的权限,用户组内的用户自动继承用户组的所有权限。 详情请参见用户权限和权限管理。 父主题: 安全
  • 快速标识迁移资源 对于存在大量资源迁移需求的用户,可通过标签管理服务的预定义标签,以及标签的导入、导出功能,提高迁移的准确率和效率,降低了重复设置标签过程中的潜在风险。 创建预定义标签:用户可以在迁移资源之前在TMS中创建预定义标签,在资源迁入后直接进行关联。 导入、导出预定义标签:已有存量标签的用户可以将标签快速导入TMS预定义标签库,在资源迁入后进行关联,同时也可以导出预定义标签进行编辑操作。 图2 快速标识迁移资源
  • 已对接组织的可信服务 以组织管理员或管理账号的身份登录华为云,进入华为云Organizations控制台,进入可信服务页,即可查看可信服务列表。 下表列出了可与华为云Organizations一起使用的云服务。 表1 已对接组织的可信服务列表 服务名称 功能简介 是否支持委托管理员 相关文档 配置审计(Config) 配置审计服务支持基于组织创建合规规则、合规规则包、资源聚合器等功能,组织管理员或Config服务的委托管理员可以统一进行配置并直接作用于组织内的所有成员账号中。 是 组织合规规则 组织合规规则包 组织资源聚合器 资源访问管理(RAM) 资源访问管理服务支持基于组织共享资源能力,当您的账号由组织管理时,您可以与组织内的所有账号共享资源,组织内账号无需接受邀请即可使用共享资源。 是 启用与组织共享资源 云审计(CTS) 云审计服务支持基于组织配置组织追踪器功能,组织管理员或CTS服务的委托管理员可以配置组织追踪器作用于整个组织,实现多账号安全审计等云审计能力。 是 组织追踪器 应用运维管理服务(AOM) 应用运维管理服务提供多账号聚合类型Prometheus实例的创建功能。 当同组织下多个成员账号均已接入云服务指标时,组织管理员或AOM服务的委托管理员可以通过该功能统一监控同一组织下多个成员账号的云服务指标。 是 Prometheus实例 for 多账号聚合实例 云备份服务(CBR) 云备份服务支持基于组织的统一策略管理能力,组织管理员或CBR服务的委托管理员可以通过创建组织备份策略和组织复制策略,为组织内成员账号统一设置备份策略和复制策略。 是 组织策略管理 云监控服务(CES) 云监控服务支持基于组织跨账号查看我的看板功能,组织管理员或CES服务的委托管理员可以查看其组织下所有账号的看板。 是 跨账号查看我的看板 云防火墙服务(CFW) 云防火墙服务具备安全可靠的跨账号数据汇聚和资源访问能力,组织管理员或CFW服务的委托管理员可以对组织内所有成员账号的EIP进行统一的资产防护。 是 多账号管理 数据安全中心(DSC) 数据安全中心服务具备安全可靠的跨账号数据汇聚和资源访问能力,组织管理员或DSC服务的委托管理员可以对组织内所有成员账号进行统一的数据安全防护,而无需登录每个成员账号。 是 多账号管理 企业主机安全服务(HSS) 主机安全服务具备安全可靠的跨账号数据汇聚和资源访问能力,组织管理员或HSS服务的委托管理员可以对组织内所有成员账号进行统一的工作负载安全防护。 是 账号管理 IAM身份中心(IdentityCenter) IAM身份中心为用户提供基于组织的多账号统一身份管理与访问控制。可以统一管理企业中使用华为云的用户,一次性配置企业的身份管理系统与华为云的单点登录,以及所有用户对组织下账号的访问权限。 是 什么是IAM身份中心 云日志服务(LTS) 云日志服务联合组织服务推出多账号日志汇聚中心,组织管理员或LTS服务的委托管理员可以在LTS将组织下指定账号的日志流复制到自己的账号中,实现多账号日志的集中存储和分析,满足安全合规、集中分析等不同场景下的诉求。 是 多账号日志汇聚中心 MapReduce服务(MRS) 暂无 是 暂无 安全云脑(SecMaster) 安全云脑支持基于组织的多账号空间托管能力,组织管理员或安全云脑服务的委托管理员创建空间托管时,可以选择组织下的一个或多个账号进行托管。 是 创建托管 父主题: 可信服务管理
共100000条