TUICallKit

TUICallKit APIs

TUICallKit is an audio/video call component that includes UI elements. You can use its APIs to quickly implement an audio/video call application similar to WeChat. For directions on integration, see Integrating TUICallKit.

Overview

API
Description
Create a TUICallKit instance (singleton mode).
Set the user's profile picture and nickname.
calls
Initiate a one-to-one or multi-person call
join
Proactively join a call
Set the ringtone.
Set whether to turn on the mute mode.
Set whether to enable floating windows.
Set whether to display incoming banner.

Details

createInstance

This API is used to create a TUICallKit singleton.
public static func createInstance() -> TUICallKit

setSelfInfo

This API is used to set the user's profile picture and nickname. The nickname cannot exceed 500 bytes, and the profile picture is specified by a URL.
public func setSelfInfo(nickname: String, avatar: String, succ:@escaping TUICallSucc, fail: @escaping TUICallFail)
Parameter
Type
Description
nickname
String
The nickname.
avatar
String
The profile picture.

calls

Initiate a call.
Swift
Objective-C
func calls(userIdList: [String], callMediaType: TUICallMediaType, params: TUICallParams,
succ: @escaping TUICallSucc, fail: @escaping TUICallFail)

- (void)calls:(NSArray<NSString *> *)userIdList callMediaType:(TUICallMediaType)callMediaType params:(TUICallParams *)params succ:(TUICallSucc)succ fail:(TUICallFail)fail;
The parameters are described below:
Parameter
Type
Meaning
userIdList
NSArray
List of target users' userId
callMediaType
Media type of the call, such as video call or voice call
params
Call extension parameters, such as room number, call invitation timeout, offline push content, etc

join

Proactively join a call.
Swift
Objective-C
func join(callId: String)
- (void)join:(NSString *)callId;
The parameters are described below:
Parameter
Type
Meaning
callId
NSString
Unique ID for this call

setCallingBell

This API is used to set the ringtone. filePath must be an accessible local file URL.
The ringtone set is associated with the device and does not change with user.
To reset the ringtone, pass in an empty string for filePath.
public func setCallingBell(filePath: String)

enableMuteMode

This API is used to set whether to play the music when user received a call.
public func enableMuteMode(enable: Bool)

enableFloatWindow

This API is used to set whether to enable floating windows.
The default value is false, and the floating window button in the top left corner of the call view is hidden. If it is set to true, the button will become visible.
public func enableFloatWindow(enable: Bool)

enableIncomingBanner

The API is used to set whether show incoming banner when user received a new call invitation.
The default value is false, The callee will pop up a full-screen call view by default when receiving the invitation. If it is set to true, the callee will display a banner first.
public func enableIncomingBanner(enable: Bool)

Deprecated Interface

call

This API is used to make a (one-to-one) call. Note: it is recommended to use the calls API
public func call(userId: String, callMediaType: TUICallMediaType)
Parameter
Type
Description
userId
String
The target user ID.
callMediaType
The call type, which can be video or audio.

call

This API is used to make a (one-to-one) call, Support for custom room ID, call timeout, offline push content, etc. Note: it is recommended to use the calls API.
public func call(userId: String, callMediaType: TUICallMediaType, params: TUICallParams,
succ: @escaping TUICallSucc, fail: @escaping TUICallFail)
Parameter
Type
Description
userId
String
The target user ID.
callMediaType
The call type, which can be video or audio.
params
Call extension parameters, such as roomID, call timeout, offline push info,etc

groupCall

This API is used to make a group call. Note: it is recommended to use the calls API
Note:
Before making a group call, you need to create an Chat group first.
For details about how to create a group, see Chat Group Management, or you can use Chat UIKit to integrate chat, call and other scenarios.
public func groupCall(groupId: String, userIdList: [String], callMediaType: TUICallMediaType)
Parameter
Type
Description
groupId
String
The group ID.
userIdList
Array
The target user IDs.
callMediaType
The call type, which can be video or audio.

groupCall

This API is used to make a group call, Support for custom room ID, call timeout, offline push content, etc. Note: it is recommended to use the calls API.
Note:
Before making a group call, you need to create an Chat group first.
For details about how to create a group, see Chat Group Management, or you can use Chat UIKit to integrate chat, call and other scenarios.
public func groupCall(groupId: String, userIdList: [String], callMediaType: TUICallMediaType, params: TUICallParams,
succ: @escaping TUICallSucc, fail: @escaping TUICallFail)
Parameter
Type
Description
groupId
String
The group ID.
userIdList
Array
The target user IDs.
callMediaType
The call type, which can be video or audio.
params
Call extension parameters, such as roomID, call timeout, offline push info, etc

joinInGroupCall

This API is used to join a group call. it is recommended to use the join API.
Note:
Before joining a group call, you need to create or join an Chat group in advance, and there are already users in the group who are in the call.
For details about how to create a group, see Chat Group Management, or you can use Chat UIKit to integrate chat, call and other scenarios.
public func joinInGroupCall(roomId: TUIRoomId, groupId: String, callMediaType: TUICallMediaType)
Parameter
Type
Description
roomId
TUIRoomId
The room ID.
groupId
String
The group ID.
callMediaType
The call type, which can be video or audio.