一、流程图
注意:目前,仅主持人和联席主持人可以发起一起用。
二、交互表现
·发起一起用:配置了一起用的应用的顶部栏将出现一起用按键,发起者单击将对全场会议发起一起用模式。应用可以通过 JSAPI 控制一起用按键显隐使其只出现在合适的页面。
·发起者视角:发起者发起一起用后,应用将以演讲者模式出现在视频画面区域,并在顶部出现正在一起使用应用的状态条。
·非发起者视角收到邀请:非发起者会看到发起者应用的屏幕共享直观的感受到发起者对应用的使用,同时会收到一条消息通知邀请加入到一起用模式。
·非发起者视角加入一起用模式:非发起者加入后应用将替代屏幕共享出现在视频区域,此时便可以与发起者一起使用该应用(页面中的消息通道,用户间的交互需要应用方来实现)。
·非发起者视角离开一起用:非发起者离开协作后应用将会被关闭并重新看到发起者应用的屏幕共享,同时客户端顶部有再次加入「一起用」环境的常驻状态条。
三、配置一起用模式
·开发者可以在应用管理后台 我的应用 > 创建的应用,或者 企业应用管理 > 创建的应用 为应用开启一起用模式。
·配置时可选择是否对应用画面进行屏幕共享,如不勾选,则发起一起用模式时不会对应用画面进行屏幕共享,仅发送邀请通知。
·如应用为游戏娱乐类型,可将入口配置为一起玩。
四、发起一起用模式
·接口名:wemeet.collaboration.start
·描述:控制本端主动发起一起用模式。
·支持的客户端:iOS、Android、Windows、Mac。
·支持的版本:3.12.0版本以上。
·是否需要鉴权:否
示例
const { AppHandleRespType } = wemeet;const callback = (resp) => { const { status, message } = resp; if (status === AppHandleRespType.SUCCESS) { console.log('startCollaboration success'); } else if (status === AppHandleRespType.CANCELED) { console.log('user canceled'); } else { // status === AppHandleRespType.FAILED console.log('startCollaboration failed'); }};wemeet.collaboration.start({ callback,}) .catch(err => { console.error('startCollaboration failed'); })
五、结束一起用模式
·接口名:wemeet.collaboration.end
·描述:控制本端主动结束一起用模式。
·支持的客户端:Windows、Mac、iOS、Android。
·支持的版本:3.12.0版本以上。
·是否需要鉴权:否
示例
const { AppHandleRespType } = wemeet;const callback = (resp) => { const { status, message } = resp; if (status === AppHandleRespType.SUCCESS) { console.log('endCollaboration success'); } else if (status === AppHandleRespType.CANCELED) { console.log('user canceled'); } else { // status === AppHandleRespType.FAILED console.log('endCollaboration failed'); }};wemeet.collaboration.end({ callback,}) .catch(err => { console.error('endCollaboration failed'); })
六、加入一起用模式
·接口名:wemeet.collaboration.join
·描述:控制本端加入一起用模式。
·支持的客户端:iOS、Android、Windows、Mac。
·支持的版本:3.12.0版本以上。
·是否需要鉴权:否
示例
wemeet.collaboration.join() .then(() => { console.log('joinCollaboration success'); }) .catch(err => { console.error('joinCollaboration failed'); })
七、离开一起用模式
·接口名:wemeet.collaboration.leave
·描述:控制本端主动离开一起用模式。
·支持的客户端:iOS、Android、Windows、Mac。
·支持的版本:3.12.0版本以上。
·是否需要鉴权:否
示例
wemeet.collaboration.leave() .then(() => { console.log('leaveCollaboration success'); }) .catch(err => { console.error('leaveCollaboration failed'); })
八、获取应用当前运行的场景值
·接口名:wemeet.app.getRunningContext
·描述:获取应用当前运行的场景值,辅助应用的实现相应逻辑。
·支持的客户端:iOS、Android、Windows、Mac。
·支持的版本:3.11.0版本以上。
·是否需要鉴权:否
返回参数说明
返回 Promise < RunningContextData >。
| 参数名称 | 参数类型 | 参数描述 |
| scene | String | 运行场景:inMeeting:会中场景preMeetingSchedule:预定会议preMeetingDetail:会前详情inWaitingRoom:等候室(v3.18)inCollaboration:一起用模式preMeetingDetail:会前会议详情historyMeetingDetail:会后历史详情profileBusinessCard:会外导入和编辑名片unknown:未知 |
| msMeetingId(v3.14) | String | 临时会议 ID,仅本场会议有效。 |
| msOpenId(v3.14) | String | 用户临时 open_id,仅本次会议有效 |
| deviceId(v3.14) | String | 设备 ID。 |
九、获取当前一起用模式相关信息
·接口名:wemeet.collaboration.getContext
·描述:获取当前一起用模式的相关标识信息,辅助应用的实现相应逻辑。
·支持的客户端:iOS、Android、Windows、Mac。
·支持的版本:3.12.0版本以上。
·是否需要鉴权:否。
参数说明
返回 Promise< CollaborationContext >
| 参数名称 | 参数类型 | 参数描述 |
| activeID | String | 本次一起用模式的 ID |
| url | String | 本次协作的 url |
示例
wemeet.collaboration.getContext() .then(() => { console.log('getCollaborationContext success'); }) .catch(err => { console.error('getCollaborationContext failed'); })
十、设置一起用配置项
·接口名:wemeet.collaboration.setCollaborationConfig
·描述:设置一起用的相关配置项。
·支持的客户端:iOS、Android、Windows、Mac。
·支持的版本:3.12.0版本以上。
·是否需要鉴权:否
参数说明
| 参数名称 | 参数类型 | 参数描述 |
| url | String | 一起用模式的 url,若不配置则发起时默认为当前页面 url |
| visible | Boolean | 应用顶部栏显示一起用按键,若不配置默认为展示 |
示例
wemeet.collaboration.setCollaborationConfig({ visible: false, url: 'https://xxxxxxxx',}) .then(() => { console.log('setCollaborationConfig success'); }) .catch(err => { console.error('setCollaborationConfig failed'); })
十一、事件监听
注意:说明:
注意:事件注册方式参照客户端 API“监听事件”部分内容。
·事件名:collaboration-change
·描述:一起用模式的状态发生变化。
·支持的客户端:iOS、Android、Windows、Mac。
·支持的版本:3.12.0版本以上。
·是否需要鉴权:否
| 参数名称 | 参数类型 | 参数描述 |
| action | String | 一起用模式的状态start:开始一起用模式join:加入一起用模式leave:离开一起用模式end:结束一起用模式 |
| activeId | String | 一起用模式的 ID。 |
| msOpenId | String | 临时用户的 ID。 |
| openId | String | optional,已授权的用户会返回此字段。 |
| timestamp | Number | 时间戳。 |