即时通信 IM 全平台

进入 即时通信 IM 控制台 的配置页面,并在页面的右下角找到开通腾讯实时音视频服务功能区,单击免费体验,选择领取7天试用,即可开通 TUICallKit 的 7 天免费试用服务,成为体验版。

相关产品
即时通信 IM 产品页,含版本规格、价格与购买入口。

注意:说明:

注意:如果并没有解决你的问题,也欢迎你加入我们的 TUICallKit 技术交流 QQ 群: 605115878 来进行交流讨论。

一、音视频通话功能出现了未开通的错误提示?

你可以选择体验版(7 天试用)或者购买正式版。

对于体验版

对于正式版

如果你体验过 7 天体验期后,需要购买正式套餐。IM 音视频通话能力针对不同的业务需求提供了差异化的付费版本供你选择,你可以在 IM 购买页 了解包含功能并选购你适合的版本。

二、在 TUIChat + TUICallKit 融合场景下,升级 TUICallKit 版本后出现新版本呼叫旧版本,旧版本无法收到通话问题?

TUICallKit 3.1 版本起,在 TUIChat + TUICallKit 融合场景下,通过 TUIChat 中的通话按钮发起通话默认使用 calls 新接口,所以如果你的业务已经上线,你可以通过高级接口将通话接口切换为 call、groupCall,用来保持与线上版本的用户互通。

你需要在登录成功后调用一次高级接口,各个平台的具体使用为:

iOS(Swift)iOS(Objective-C)Android(java)Android(kotlin)Flutter(Dart)Web&小程序let jsonParams: [String: Any] = ["api": "forceUseV2API", "params": ["enable": true,],]guard let data = try? JSONSerialization.data(withJSONObject: jsonParams, options: JSONSerialization.WritingOptions(rawValue: 0)) else { return }guard let paramsString = NSString(data: data, encoding: String.Encoding.utf8.rawValue) as? String else { return }TUICallKit.createInstance().callExperimentalAPI(jsonStr: paramsString)NSDictionary *jsonParams = @{@"api": @"forceUseV2API", @"params": @{@"enable": @YES}};NSError *error = nil;NSData *data = [NSJSONSerialization dataWithJSONObject:jsonParams options:0 error:&error];if (error || !data) { return; }NSString *paramsString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];if (!paramsString) { return;}[[TUICallKit createInstance] callExperimentalAPIWithJsonStr:paramsString]; try { JSONObject params = new JSONObject(); params.put("enable", true); JSONObject jsonObject = new JSONObject(); jsonObject.put("api", "forceUseV2API"); jsonObject.put("params", params); TUICallKit.createInstance(context).callExperimentalAPI(jsonObject.toString());} catch (Exception e) { e.printStackTrace();}try { val params = JSONObject() params.put("enable", true) val jsonObject = JSONObject() jsonObject.put("api", "forceUseV2API") jsonObject.put("params", params) TUICallKit.createInstance(context).callExperimentalAPI(jsonObject.toString())} catch (e: Exception) { e.printStackTrace()}final jsonParams = {'api': 'forceUseV2API', 'params': {'enable': true} }; try { final jsonString = json.encode(jsonParams); TUICallKit.instance.callExperimentalAPI(jsonStr: jsonString); } catch (e) { return; }const jsonObject = { api: "forceUseV2API", params: { enable: true, }};TUICallKitServer.getTUICallEngineInstance().callExperimentalAPI(JSON.stringfy(jsonObject));

三、TUICalling 如何升级到 TUICallKit?

TUICallKit 是腾讯云推出一款新的音视频通话 UI 组件,是 TUICalling 的升级版本,支持群组通话、AI 降噪等更多功能特性、支持全平台间互通呼叫,功能更加稳定。 从 TUICalling 升级到 TUICallKit 你可以参考:

·微信小程序升级方案

·Web 升级方案

·Android 升级方案

·iOS 升级方案

·uni-app (客户端) 升级方案

·Flutter 升级方案

·uni-app (小程序) 升级方案

四、报错 inviteID 无效或邀请已处理

该 inviteID 已经被主叫方取消,或者该邀请已经被接受。由于信令发送受网络带宽等诸多因素影响,在极端情况下(accept 与 reject 接口重复调用)可能会导致 inviteID 无效的错误。

五、消息发送方或接收方 UserID 无效或不存在

你呼叫的用户还没有登录过 TIM,导致呼叫失败,请尝试呼叫已经登录成功过的用户。

六、TUICallKit 是否可以不引入 IM SDK,只使用 TRTC?

不可以,TUIKit 全系组件都使用了腾讯云 IM SDK 作为通信的基础服务,比如通话拨打信令、通话忙线信令等核心逻辑,如果你已经购买有其他 IM 产品,也可以参照 TUICallKit 逻辑进行适配。

七、如何购买音视频通话套餐?

请参考购买链接 音视频通话 SDK 价格总览,如有其他问题,请点击页面右侧,进行售前套餐咨询;或者加入 QQ 群:605115878,进行咨询和反馈。

八、如何获取通话的房间号 Roomid?

通话接通后,你可以通过 onCallBegin 返回 roomid 字段进行获取。

九、查询用户在线状态

TUICallKit 底层通过 IM 管理用户,可以通过 IM 查询用户的在线状态,方式有以下两种:

·方式一:通过 getUserStatus 高级接口查询

详情可参考:查询用户状态(Android&iOS&Windows&Mac、web&小程序&uniapp),你可以调用不同平台的接口去查询。

注意:

getUserStatus 接口的返回结果有以下几种:

·未知(UNKNOWN)

·在线(ONLINE):当前用户已登录上线,通常情况下,该用户可以正常收到通话请求。

·离线(OFFLINE):用户未主动调用logout退出登录,但长连接中断的状态。通常情况下,若接入了离线推送,该用户可以收到离线推送的消息。

·未登录(UNLOGINED):用户注册账号后从未登录过,或者用户主动调用logout退出登录,该用户收不到通话请求。

·方式二:通过 REST API 进行查询

详情可参考:查询账号在线状态。

十、音视频通话信令里各字段常见问题?

问题 说明
如何判断 “发起通话” actionType = 1 且 cmd = 'videoCall' 或 'audioCall'
如何判断 “已接听” actionType = 3
如何判断 “通话已结束”,“通话时长是多少” actionType = 1 且 cmd = 'hangup',通话时长取 call_end 字段,单位:秒
如何判断 “取消通话” actionType = 2
如何判断 “拒绝通话” actionType = 4
如何判断对端忙线产生的 “拒绝通话” actionType = 4 且 cmd = "line_busy"
如何被叫判断 “超时未接听” actionType = 5
赞 (0)
上一篇 4天前
下一篇 4天前