组织架构信息属于客户重要数据,对部分客户来说,并不希望这些信息同步到三方平台。使用SDK接入腾讯会议可以实现不同步组织架构到腾讯侧的情况下,仍然能方便的拉起自定义通讯录组件,按组织架构选人。
SDK会中目前有两个邀请入口,分别是会中工具栏的 邀请 按钮入口和成员管理 邀请成员 按钮入口。默认点击后会调起SDK自带的选人/呼叫弹框,实现邀请企业成员入会、呼叫电话和Rooms/传统视频会议终端等功能。
管理成员中的邀请成员入口支持在企管平台关闭,具体方法是管理员在企管平台-企业管理-账户管理-通讯录设置中,将企业通讯录选项设置为关闭状态。
实现自定义邀请后,可以看到此时的弹框不再是腾讯会议默认的邀请弹窗,变成了客户自己的通讯录组件。此外开发者也可以在自定义的弹框里面加上呼叫PSTN、Rooms或者H.323/SIP终端等功能。
这一步需要调用到enableInviteCallback接口,主要作用是设置是否开启回调以及控制是否显示sdk默认的邀请弹窗。
接口定义:void enableInviteCallback(bool enable, bool show)
函数说明:设置是否使用邀请回调,如果使用,点击会议中界面下方工具栏上的邀请按钮,会触发InMeetingCallback.onInviteMeeting回调,并回调会议信息。
接口调用时机:该接口入会之前设置有效,建议初始化回调之后,登录之前设置。
参数说明:
参数名 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
enable | bool | 否 | 是否开启回调,默认为false,不开启回调 |
show | bool | 是 | 是否还显示SDK的邀请页面。如果enable参数为false,则show参数会被强制设置为true。 |
在开启会中邀请回调后,用户会中点击工具栏上的邀请按钮会触发InMeetingCallback.onInviteMeeting回调,开发者可以在回调中收到会议信息用于后续处理。当选择自行实现邀请弹窗时,在该回调触发弹窗动作。
接口定义:void onInviteMeeting(string invite_info)
函数说明:用户在会议中界面点击下方工具栏邀请按钮后的回调。
接口调用时机:SDK自动触发。
参数说明:
参数名 | 参数类型 | 参数说明 |
---|---|---|
invite_info | string | 邀请的相关信息,JSON字符串 |
invite_info内容
{
"begin_time": 1629194320, // 会议开始时间戳
"end_time": 1629197920, // 会议结束时间戳
"create_type": 1, // 会议类型,1 普通会议,2 快速会议
"device_dial_in_guide": "", // 设备接入指南信息
"general_content": "", // 邀请入会的通用信息
"host_name": "", // 主持人昵称
"meeting_code": "", // 会议号
"meeting_url": "", // 会议链接
"mra": "",
"mra_ics": "",
"password": "", // 会议密码
"pstn": "",
"meeting_pstn_json": "",
"subject": "",// 会议主题
"participate_id": "" //参会者id
}
自定义弹框中,开发者可按需实现邀请通讯录成员、邀请PSTN电话用户、邀请Rooms/传统视频会议终端等功能。
邀请通讯录成员入会分为查询会中成员、通讯录组件选人、呼叫用户入会三步。查询会中成员使用rest api查询实时会中成员列表接口,需要app后台部署rest api服务向腾讯后台发起请求;通讯录组件由开发者自行实现,用户选人时将前一步查到的已入会成员状态设置为不可选;选完人后,调用addUsersWithParam接口,传入待呼叫的成员userid来呼叫成员入会,邀请结果在onAddUsersResult回调函数中返回。
查询实时会中成员列表和addUsersWithParam接口用法比较简单,可参考下面的接口定义使用。
邀请PSTN电话入会需要调用rest api的批量外呼接口,呼通前需要取消可调用批量取消外呼接口。
呼叫Rooms、H.323/SIP终端入会使用的是rest api的呼叫会议室接口,呼叫Rooms时入参填meeting_room_id参数,呼叫H.323/SIP终端时填mra_address参数。呼通前取消调用取消呼叫会议室接口。
与上面的会中工具栏邀请自定义回调实现相比,这里只有打开回调开关、实现回调使用和邀请通讯录成员参会步骤有差异,其他实现步骤都相同,因此这里只介绍打开回调开关、实现回调步骤和邀请通讯录成员步骤。
这一步需要调用到enableInviteUsersCallback,主要作用是设置是否开启回调以及控制是否显示sdk默认的邀请弹窗。
接口定义:void enableInviteUsersCallback(bool enable, bool show)
函数说明:设置是否使用添加成员的回调,如果使用,点击会议中界面成员列表上的添加成员按钮,会触发InMeetingCallback.onInviteUsers回调,并回调会中成员列表信息(users)和场景类型(user_type)。
接口调用时机:设置接口要早于点击会中界面成员列表添加按钮,建议初始化回调之后登录之前设置。
参数说明:
参数名 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
enable | bool | 否 | 是否开启回调,默认为false |
show | bool | 是 | 是否显示SDK的通讯录页面。如果enable为false,则show参数会被强制设置为true。 |
在开启会中管理成员邀请回调后,用户会中在成员管理页面点添加成员按钮会触发InMeetingCallback.onInviteUsers回调,开发者可以在回调中收到会中成员的userid列表用于后续处理。当选择自行实现邀请弹窗时,在该回调触发弹窗动作。
接口定义:void onInviteUsers(string json_data)
函数说明:用户在会议中界面点击右侧成员列表上方的添加成员按钮的的回调。
接口调用时机:SDK自动触发。
参数说明:
参数名 | 参数类型 | 参数说明 |
---|---|---|
json_data | string | 会议信息,JSON字符串,内容如下示例 |
json_data示例:
{
// 邀请的用户userid列表
"users": ["user1_id","user2_id","user3_id","user4_id"],
// 用户入会类型,3表示客户端入会、4表示PSTN入会
"user_type": 3
}
自定义弹框中,开发者可按需实现邀请通讯录成员、邀请PSTN电话用户、邀请Rooms/传统视频会议终端等功能。
由于onInviteUsers回调中会返回会中参会成员的userid列表,因此这里实现只有通讯录组件选人和呼叫用户入会两步。具体实现方法参考前面会中工具栏邀请自定义回调的实现。
参考前面会中工具栏邀请自定义回调的实现。
参考前面会中工具栏邀请自定义回调的实现。
Q1:Android端收到邀请或分享回调后显示透明activity但是背景activity显示的不是会中界面,或者关闭activity后没有回到会中界面。
A1:请确保activity设置了如下所示的taskAffinity属性,并在启动activity时调用intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK),如果仍然无法解决问题,请联系技术支持。
android:taskAffinity=".meeting.inmeeting.InMeetingActivity" // SDK Version < 3.12.3
android:taskAffinity="com.tencent.wemeet.tmsdk.meeting.inmeeting.InMeetingActivity" // SDK Version >= 3.12.3
Q2:iOS端初始化和登录都有收到成功回调,会中邀请没看到弹框也没收到回调。
A2:未初始化SDK前,先调用了accountService的isLogin函数,导致accountService里面的监听在第一次初始化的时候未生效,而accountService是一个单例,监听的方法写在了后续SDK init时也不会调用。请检查是否在TMSDK init方法前调用AccountService的方法,如isLogin方法,所有的SDK方法需要在TMSDK初始化之后才能使用。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。