全平台
1. 拨打语音或视频通话时出现: [-100035]The package you purchased does not support this ability, Please purchase the package
提示,如何处理?
2. 消息发送方或接收方 UserID 无效或不存在,如何处理?
您呼叫的用户还没有登录过 Chat,导致呼叫失败,请尝试呼叫已经登录成功过的用户。
3. 报错 inviteID 无效或邀请已处理,如何处理?
该 inviteID 已经被主叫方取消,或者该邀请已经被接受。由于信令发送受网络带宽等诸多因素影响,在极端情况下(accept 与 reject 接口重复调用)可能会导致 inviteID 无效的错误。
4. 如何获取通话的房间号 RoomId?
5. TUICallKit 是否可以不引入 Chat SDK?
不可以,TUIKit 全系组件都使用了腾讯云 Chat SDK 做为通信的基础服务,比如通话拨打信令、通话忙线信令等核心逻辑,如果您已经购买有其他 Chat 产品,也可以参照 TUICallKit 逻辑进行适配。
6. 在 TUIChat + TUICallKit 融合场景下,升级 TUICallKit 版本后出现新版本呼叫旧版本,旧版本无法收到通话问题
TUICallKit 3.1 版本起,在 TUIChat + TUICallKit 融合场景下,通过 TUIChat 中的通话按钮发起通话默认使用 calls 新接口,所以如果您的业务已经上线,您可以通过高级接口将通话接口切换为 call、groupCall,用来保持与线上版本的用户互通。
您需要在登录成功后调用一次高级接口,各个平台的具体使用为:
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));