Type Definition

Common structures

TUICallDefine

Type
Description
An additional parameter.
Offline push vendor configuration information.

TUICommonDefine

Type
Description
TUIRoomId
Room ID for audio and video in a call.
Network quality information
Video render parameters
Video encoding parameters

Enum definition

TUICallDefine

Type
Description
Media type in a call
Roles of individuals in a call.
The call status
The call scene
iOS offline push type

TUICommonDefine

Type
Description
Audio route
TUICamera
Camera type
Network quality
Video image fill mode
Video image rotation direction
Video aspect ratio mode
Video resolution

TUICallParams

Call params
Value
Type
Description
roomId
TUIRoomId
Room ID for audio and video in a call.
offlinePushInfo
Offline push vendor configuration information.
timeout
int
Call timeout period, default: 30s, unit: seconds.
userData
NSString
An additional parameter. Callback when the callee receives onCallReceived

TUIOfflinePushInfo

Offline push vendor configuration information,please refer to:Offline call push
Value
Type
Description
title
NSString
offlinepush notification title
desc
NSString
offlinepush notification description
ignoreIOSBadge
BOOL
Ignore badge count for offline push (only for iOS), if set to true, the message will not increase the unread count of the app icon on the iOS receiver's side.
iOSSound
NSString
Offline push sound setting (only for iOS). When sound = IOS_OFFLINE_PUSH_NO_SOUND, there will be no sound played when the message is received. When sound = IOS_OFFLINE_PUSH_DEFAULT_SOUND, the system sound will be played when the message is received. If you want to customize the iOSSound, you need to link the audio file into the Xcode project first, and then set the audio file name (with extension) to the iOSSound.
androidSound
NSString
Offline push sound setting (only for Android, supported by IMSDK 6.1 and above). Only Huawei and Google phones support setting sound prompts. For Xiaomi phones, please refer to: Xiaomi custom ringtones. In addition, for Google phones, in order to set sound prompts for FCM push on Android 8.0 and above systems, you must call setAndroidFCMChannelID to set the channelID for it to take effect.
androidOPPOChannelID
NSString
Set the channel ID for OPPO phones with Android 8.0 and above systems.
androidVIVOClassification
NSInteger
Classification of VIVO push messages (deprecated interface, VIVO push service will optimize message classification rules on April 3, 2023. It is recommended to use setAndroidVIVOCategory to set the message category). 0: Operational messages, 1: System messages. The default value is 1.
androidXiaoMiChannelID
NSString
Set the channel ID for Xiaomi phones with Android 8.0 and above systems.
androidFCMChannelID
NSString
Set the channel ID for google phones with Android 8.0 and above systems.
androidHuaWeiCategory
NSString
Classification of Huawei push messages, please refer to: Huawei message classification standard.
isDisablePush
BOOL
Whether to turn off push notifications (default is on).
iOSPushType
iOS offline push type,default is APNs

TUIRoomId

Room ID for audio and video in a call. Note:
(1) intRoomId and strRoomId are mutually exclusive. If you choose to use strRoomIdintRoomId needs to be filled in as 0. If both are filled in, the SDK will prioritize intRoomId.
(2) Do not mix intRoomId and strRoomId because they are not interchangeable. For example, the number 123 and the string "123" represent two completely different rooms.
Value
Type
Description
intRoomId
UInt32
Numeric room ID. range: 1 - 2147483647(2^31-1)
strRoomId
NSString
String room ID. range:Limited to 64 bytes in length. The supported character set range is as follows (a total of 89 characters):
Lowercase and uppercase English letters. (a-zA-Z)
Number (0-9)
Spaces、!#$%&()+-:;<=.>?@[]^_{}|~,
Note:
Currently, string room number is only supported on Android,iOS,Flutter and Uniapp platforms. Support for other platforms such as Web and Mini Programs will be available in the future. Please stay tuned!

TUIVideoRenderParams

Video render parameters
Value
Type
Description
fillMode
Video image fill mode
rotation
Video image rotation direction

TUINetworkQualityInfo

User network quality information
Value
Type
Description
userId
NSString
user ID
quality
network quality



TUIVideoEncoderParams

Video encoding parameters
Value
Type
Description
resolution
Video resolution
resolutionMode
Video aspect ratio mode

TUICallMediaType

Call media type
Type
Value
Description
TUICallMediaTypeUnknown
0
Unknown
TUICallMediaTypeAudio
1
Audio call
TUICallMediaTypeVideo
2
Video call

TUICallRole

Call role
Type
Value
Description
TUICallRoleNone
0
Unknown
TUICallRoleCall
1
Caller(inviter)
TUICallRoleCalled
2
Callee(invitee)

TUICallStatus

Call status
Type
Value
Description
TUICallStatusNone
0
Unknown
TUICallStatusWaiting
1
The call is currently waiting
TUICallStatusAccept
2
The call has been accepted

TUICallScene

Call scene
Type
Value
Description
TUICallSceneGroup
0
Group call
TUICallSceneMulti
1
Anonymous group calling (not supported at this moment, please stay tuned).
TUICallSceneSingle
2
one to one call

TUICallIOSOfflinePushType

iOS offline push type
Type
Value
Description
TUICallIOSOfflinePushTypeAPNs
0
APNs
TUICallIOSOfflinePushTypeVoIP
1
VoIP

TUIAudioPlaybackDevice

Audio route
Type
Value
Description
TUIAudioPlaybackDeviceSpeakerphone
0
Speakerphone
TUIAudioPlaybackDeviceEarpiece
1
Earpiece

TUICamera

Front/Back camera
Type
Value
Description
TUICameraFront
0
Front camera
TUICameraBack
1
Back camera

TUINetworkQuality

Network quality
Type
Value
Description
TUINetworkQualityUnknown
0
Unknown
TUINetworkQualityExcellent
1
Excellent
TUINetworkQualityGood
2
Good
TUINetworkQualityPoor
3
Poor
TUINetworkQualityBad
4
Bad
TUINetworkQualityVbad
5
Vbad
TUINetworkQualityDown
6
Down

TUIVideoRenderParamsFillMode

If the aspect ratio of the video display area is not equal to that of the video image, you need to specify the fill mode:
Type
Value
Description
TUIVideoRenderParamsFillModeFill
0
Fill mode: the video image will be centered and scaled to fill the entire display area, where parts that exceed the area will be cropped. The displayed image may be incomplete in this mode.
TUIVideoRenderParamsFillModeFit
1
Fit mode: the video image will be scaled based on its long side to fit the display area, where the short side will be filled with black bars. The displayed image is complete in this mode, but there may be black bars.

TUIVideoRenderParamsRotation

We provides rotation angle setting APIs for local and remote images. The following rotation angles are all clockwise.
Type
Value
Description
TUIVideoRenderParamsRotation_0
0
No rotation
TUIVideoRenderParamsRotation_90
1
Clockwise rotation by 90 degrees
TUIVideoRenderParamsRotation_180
2
Clockwise rotation by 180 degrees
TUIVideoRenderParamsRotation_270
3
Clockwise rotation by 270 degrees

TUIVideoEncoderParamsResolutionMode

Video aspect ratio mode
Type
Value
Description
TUIVideoEncoderParamsResolutionModeLandscape
0
Landscape resolution, such as:TUIVideoEncoderParamsResolution_640_360 + TUIVideoEncoderParamsResolutionModeLandscape = 640 × 360
TUIVideoEncoderParamsResolutionModePortrait
1
Portrait resolution, such as:TUIVideoEncoderParamsResolution_640_360 + TUIVideoEncoderParamsResolutionModePortrait = 360 × 640

TUIVideoEncoderParamsResolution

Video resolution
Type
Value
Description
TUIVideoEncoderParamsResolution_640_360
108
Aspect ratio: 16:9;resolution: 640x360;recommended bitrate: 500kbps
TUIVideoEncoderParamsResolution_640_480
62
Aspect ratio: 4:3;resolution: 640x480;recommended bitrate: 600kbps
TUIVideoEncoderParamsResolution_960_540
110
Aspect ratio: 16:9;resolution: 960x540;recommended bitrate: 850kbps
TUIVideoEncoderParamsResolution_960_720
64
Aspect ratio: 4:3;resolution: 960x720;recommended bitrate: 1000kbps
TUIVideoEncoderParamsResolution_1280_720
112
Aspect ratio: 16:9;resolution: 1280x720;recommended bitrate: 1200kbps
TUIVideoEncoderParamsResolution_1920_1080
114
Aspect ratio: 16:9;resolution: 1920x1080;recommended bitrate: 2000kbps