Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在腾讯会议SDK中如何实现会中拉起自定义通讯录组件

在腾讯会议SDK中如何实现会中拉起自定义通讯录组件

原创
作者头像
liquid
修改于 2024-11-22 10:03:59
修改于 2024-11-22 10:03:59
2550
举报
文章被收录于专栏:腾讯会议腾讯会议

组织架构信息属于客户重要数据,对部分客户来说,并不希望这些信息同步到三方平台。使用SDK接入腾讯会议可以实现不同步组织架构到腾讯侧的情况下,仍然能方便的拉起自定义通讯录组件,按组织架构选人。

功能介绍

SDK会中目前有两个邀请入口,分别是会中工具栏的 邀请 按钮入口和成员管理 邀请成员 按钮入口。默认点击后会调起SDK自带的选人/呼叫弹框,实现邀请企业成员入会、呼叫电话和Rooms/传统视频会议终端等功能。

管理成员中的邀请成员入口支持在企管平台关闭,具体方法是管理员在企管平台-企业管理-账户管理-通讯录设置中,将企业通讯录选项设置为关闭状态。

实现自定义邀请后,可以看到此时的弹框不再是腾讯会议默认的邀请弹窗,变成了客户自己的通讯录组件。此外开发者也可以在自定义的弹框里面加上呼叫PSTN、Rooms或者H.323/SIP终端等功能。

实现方法

会中工具栏邀请自定义回调实现

1 开启会中邀请回调开关

这一步需要调用到enableInviteCallback接口,主要作用是设置是否开启回调以及控制是否显示sdk默认的邀请弹窗。

接口定义:void enableInviteCallback(bool enable, bool show)

函数说明:设置是否使用邀请回调,如果使用,点击会议中界面下方工具栏上的邀请按钮,会触发InMeetingCallback.onInviteMeeting回调,并回调会议信息。

接口调用时机:该接口入会之前设置有效,建议初始化回调之后,登录之前设置。

参数说明:

参数名

参数类型

是否必填

参数说明

enable

bool

是否开启回调,默认为false,不开启回调

show

bool

是否还显示SDK的邀请页面。如果enable参数为false,则show参数会被强制设置为true。

2 实现会中邀请回调函数

在开启会中邀请回调后,用户会中点击工具栏上的邀请按钮会触发InMeetingCallback.onInviteMeeting回调,开发者可以在回调中收到会议信息用于后续处理。当选择自行实现邀请弹窗时,在该回调触发弹窗动作。

接口定义:void onInviteMeeting(string invite_info)

函数说明:用户在会议中界面点击下方工具栏邀请按钮后的回调。

接口调用时机:SDK自动触发。

参数说明:

参数名

参数类型

参数说明

invite_info

string

邀请的相关信息,JSON字符串

invite_info内容

代码语言:txt
AI代码解释
复制
{
    "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
}

3 自定义弹窗功能实现

自定义弹框中,开发者可按需实现邀请通讯录成员、邀请PSTN电话用户、邀请Rooms/传统视频会议终端等功能。

  • 邀请通讯录成员入会

邀请通讯录成员入会分为查询会中成员、通讯录组件选人、呼叫用户入会三步。查询会中成员使用rest api查询实时会中成员列表接口,需要app后台部署rest api服务向腾讯后台发起请求;通讯录组件由开发者自行实现,用户选人时将前一步查到的已入会成员状态设置为不可选;选完人后,调用addUsersWithParam接口,传入待呼叫的成员userid来呼叫成员入会,邀请结果在onAddUsersResult回调函数中返回。

查询实时会中成员列表addUsersWithParam接口用法比较简单,可参考下面的接口定义使用。

  • 邀请PSTN电话用户入会

邀请PSTN电话入会需要调用rest api的批量外呼接口,呼通前需要取消可调用批量取消外呼接口。

  • 邀请Rooms、H.323/SIP终端入会

呼叫Rooms、H.323/SIP终端入会使用的是rest api的呼叫会议室接口,呼叫Rooms时入参填meeting_room_id参数,呼叫H.323/SIP终端时填mra_address参数。呼通前取消调用取消呼叫会议室接口。

会中管理成员邀请自定义回调实现

与上面的会中工具栏邀请自定义回调实现相比,这里只有打开回调开关、实现回调使用和邀请通讯录成员参会步骤有差异,其他实现步骤都相同,因此这里只介绍打开回调开关、实现回调步骤和邀请通讯录成员步骤。

1 开启会中管理成员邀请回调开关

这一步需要调用到enableInviteUsersCallback,主要作用是设置是否开启回调以及控制是否显示sdk默认的邀请弹窗。

接口定义:void enableInviteUsersCallback(bool enable, bool show)

函数说明:设置是否使用添加成员的回调,如果使用,点击会议中界面成员列表上的添加成员按钮,会触发InMeetingCallback.onInviteUsers回调,并回调会中成员列表信息(users)和场景类型(user_type)。

接口调用时机:设置接口要早于点击会中界面成员列表添加按钮,建议初始化回调之后登录之前设置。

参数说明:

参数名

参数类型

是否必填

参数说明

enable

bool

是否开启回调,默认为false

show

bool

是否显示SDK的通讯录页面。如果enable为false,则show参数会被强制设置为true。

2 实现会中邀请回调函数

在开启会中管理成员邀请回调后,用户会中在成员管理页面点添加成员按钮会触发InMeetingCallback.onInviteUsers回调,开发者可以在回调中收到会中成员的userid列表用于后续处理。当选择自行实现邀请弹窗时,在该回调触发弹窗动作。

接口定义:void onInviteUsers(string json_data)

函数说明:用户在会议中界面点击右侧成员列表上方的添加成员按钮的的回调。

接口调用时机:SDK自动触发。

参数说明:

参数名

参数类型

参数说明

json_data

string

会议信息,JSON字符串,内容如下示例

json_data示例:

代码语言:txt
AI代码解释
复制
{
    // 邀请的用户userid列表
    "users": ["user1_id","user2_id","user3_id","user4_id"],
    // 用户入会类型,3表示客户端入会、4表示PSTN入会
    "user_type": 3  
}

3 自定义弹窗功能实现

自定义弹框中,开发者可按需实现邀请通讯录成员、邀请PSTN电话用户、邀请Rooms/传统视频会议终端等功能。

  • 邀请通讯录成员入会

由于onInviteUsers回调中会返回会中参会成员的userid列表,因此这里实现只有通讯录组件选人和呼叫用户入会两步。具体实现方法参考前面会中工具栏邀请自定义回调的实现。

  • 邀请PSTN电话用户入会

参考前面会中工具栏邀请自定义回调的实现。

  • 邀请Rooms、H.323/SIP终端入会

参考前面会中工具栏邀请自定义回调的实现。

常见问题及解决方法

Q1:Android端收到邀请或分享回调后显示透明activity但是背景activity显示的不是会中界面,或者关闭activity后没有回到会中界面。

A1:请确保activity设置了如下所示的taskAffinity属性,并在启动activity时调用intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK),如果仍然无法解决问题,请联系技术支持。

代码语言:txt
AI代码解释
复制
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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
腾讯会议SDK项目交付指导
SDK登录鉴权需要使用到IDaaS服务,因此需要客户将企业版的用户管理模式更改成自动模式。另外默认生成的SSO域名前缀也需要改成对客户有实际意义的域名。具体操作参考文档《企业用户管理模式—手动同步模式'切换为'自动同步模式&SSO登录域名修改2.0》。
腾讯会议
2023/06/20
8.3K0
腾讯会议SaaS SDK特性更新列表
2、多语言翻译:支持17种语言翻译,在会议中的字幕、实时转写以及会议后的录制页中均能使用,开启翻译。
腾讯会议
2023/06/20
5.6K0
如何在 XSwitch 中实现互联互通
XSwitch 是一个“连接一切”的实时音视频通信平台,支持 PSTN 电话、SIP、28181、WebRTC及声网间的音视频互联互通,支持与 ChatGPT 与各种 AI 平台对话,支持与腾讯会议等第三方会议系统实现视频会议互联互通等。
杜金房
2025/04/05
760
如何在 XSwitch 中实现互联互通
腾讯会议SDK接入最佳实践说明
liquid
2023/07/25
4.2K0
HarmonyOS 开发实践——自定义弹框使用(CustomDialog+TextPicker组合)
做过移动端甚至前端开发的小伙伴想必用过弹窗功能,其实弹窗就是一种浮动窗口,主要用于在应用界面上显示额外的信息或提供用户操作选项。而在HarmonyOS开发中,弹窗分为七种类型:AlertDialog、ActionSheet、CustomDialog、CalendarPickerDialog、DatePickerDialog、TimePickerDialog和TextPickerDialog。其他六种弹窗是系统预定义的弹框,而剩下的CustomDialog弹窗是允许开发者自定义弹窗的布局和内容的。
小帅聊鸿蒙
2024/10/29
4270
HarmonyOS 开发实践——自定义弹框使用(CustomDialog+TextPicker组合)
HarmonyOS 开发实践——List组件的使用与AlphabetIndexer联动实践
说明:ListScroller继承自Scroller,具有Scroller的全部方法。
小帅聊鸿蒙
2024/10/29
4960
HarmonyOS 开发实践——List组件的使用与AlphabetIndexer联动实践
Android四大组件安全问题
Activity AndroidMainfest 配置 android:exported="false", 其它应用不可以调用 检测栈顶 Activity, 防止页面被劫持 WebView 加载网页发生证书认证错误时, 会调用 WebViewClient 类的 onReceivedSslError 方法, 如果该方法实现调用了 handler.proceed() 来忽略该证书错误, 则会受到中间人攻击的威胁, 可能导致隐私泄露。当发生证书认证错误时, 采用默认的处理方法 handler.cancel()
续写经典
2018/08/28
9570
Qt编写自定义控件55-手机通讯录
前面几篇文章中的控件基本上难度系数接近0,甚至有凑控件数量的嫌疑,这次必须来一个强悍的控件,本控件难度系数在所有控件中排前五,代码量也不少,头文件都550行,实现文件1600行,为什么这么多呢,其实本控件是由好多个子控件组成的,字母高亮背景类、中间字母分隔类、右侧字母导航类、通讯录按钮类、自定义滚动条类,我在写比较复杂的控件的时候,一般都会逐个功能拆分,然后思考是否该功能可以做成独立的类,这样管理起来比较方便,也方便查看代码。
feiyangqingyun
2019/09/25
1.2K0
Qt编写自定义控件55-手机通讯录
Flutter 组件集录 | 桌面导航 NavigationRail
我们都知道 BottomNavigationBar 是一个移动端非常常用的底部导航栏组件,可以用于点击处理激活菜单,并通过回调来处理界面的切换。
张风捷特烈
2022/09/20
3.4K1
Flutter 组件集录 | 桌面导航 NavigationRail
iOS音视频接入 - TRTC多人视频会议
官方SDK中提供了可复用的UI和封装了TRTCCloud的model,具体位置见下图。
小明同学接音视频
2020/10/15
2.5K0
iOS音视频接入 - TRTC多人视频会议
VUE路由拦截:Vue自定义全局弹窗组件
在任何一个平台中,如果需要增加用户黏度,除了用户需要的基本内容外,用户登录注册提交信息也是非常重要的一环,可以了解用户基本信息,用户喜欢等。
Javanx
2019/12/06
3.8K0
Flutter 桌面探索 | 自定义可拖拽导航栏
上一篇 《桌面导航 NavigationRail》 中介绍了官方的桌面导航,但整体灵活性并不是太好,风格我也不是很喜欢。看到飞书桌面端的导航栏可以支持拖拽排序,感觉挺有意思。而且排序之后,下次进入时会使用该顺序,而且在其他设备上也会同步该配置顺序。这说明用户登录时会从服务器获取配置信息,作为导航栏的状态数据决定显示。
张风捷特烈
2022/09/20
2.5K0
Flutter 桌面探索 | 自定义可拖拽导航栏
如何生成腾讯会议SDK鉴权所需的SDK Token和ID Token等信息
在开通SDK配置之后,会从腾讯侧获取到SDK接入所需的对接参数。与Token生成相关的具体参数及用途如下:
liquid
2023/07/20
3.5K6
TRTC Android端开发接入学习之视频会议(八)
视频会议是音视频通话的常见应用场景之一,TRTC对着这方面的支持必不可少,本次我们学习如何使用TRTC快速开发视频会议的功能。
腾讯云-hongyang
2020/09/15
1.8K0
常用的自定义控件四(QuickBarView)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/51804865
程序员徐公
2018/09/18
4230
常用的自定义控件四(QuickBarView)
Android移动直播,自定义采集视频数据推流
目前腾讯视频云移动直播SDK(LiteAVSDK)只回调摄像机预览画面的纹理数据。如果开发者集成第三方美颜库来实现美颜、滤镜等功能,但第三方库的美颜功能输入数据要求是camera的原始数据(YUV 数据)。开发者想实现该功能,需要采用自定义采集视频数据接口,然后复用 LiteAVSDK 的编码和推流功能。
腾讯云-chaoli
2019/03/13
5.1K3
Android移动直播,自定义采集视频数据推流
iOS获取通讯录联系人信息
IOS关于通讯录的开发有两种,一种是直接调用系统的通讯录界面,根据回调信息处理数据,另一种是直接获取系统的通讯录,完全自定义UI,并且可以通过官方给我们提供的接口进行读写。这篇博客主要讨论第二种方式。
用户8983410
2021/10/29
1.7K0
实例|APICloud AVM框架开发视频会议APP
APP开发采用的APICloud平台的AVM多端应用开发框架,使用 avm.js 一个技术栈可同时开发 Android & iOS 原生 App、小程序和 iOS 轻 App,且多端渲染效果统一;
白又白888
2022/09/01
9670
腾讯会议突围背后:端到端实时语音技术是如何保障交流通畅的?
说到腾讯会议背后的实时语音端到端解决方案,大家可能第一时间就想到了PSTN电话,从贝尔实验室创造模拟电话开始,经过一百多年的发展,整个语音通信、语音电话系统经历了很大一部分变化。尤其是最近三十年来,语音通话由模拟信号变为数字信号,从固定电话变为移动电话,从电路交换到现在的分组交换。
腾讯云开发者
2020/03/25
6.4K0
企微获取用户敏感数据
从2022年6月20号20点开始,除通讯录同步以外的基础应用(如客户联系、微信客服、会话存档、日程等),以及新创建的自建应用与代开发应用,调用该接口时,不再返回以下字段:头像、性别、手机、邮箱、企业邮箱、员工个人二维码、地址,应用需要通过oauth2手工授权的方式获取管理员与员工本人授权的字段。
ha_lydms
2023/08/10
1.2K0
企微获取用户敏感数据
推荐阅读
相关推荐
腾讯会议SDK项目交付指导
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档