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.API Overview
API | Description |
login | |
logout | |
Sets the user nickname and profile photo. | |
Makes a one-to-one call. | |
Makes a group call. | |
Joins a group call. | |
Sets the ringtone. | |
Sets whether to turn on the mute mode. | |
Sets whether to enable floating windows. | |
Sets whether to display incoming banner. v2.3.1 supported. |
API Detail
login
const TUICallKit = uni.requireNativePlugin('TencentCloud-TUICallKit');const options = {SDKAppID: 0,userID: 'mike',userSig: '',};TUICallKit.login(options, (res) => {if (res.code === 0) {console.log('login success');} else {console.log(`login failed, error message = ${res.msg}`);}});
Parameter | Type | Description |
options | Object | Initialization parameters |
options.SDKAppID | Number | User SDKAppID |
options.userID | String | userID |
options.userSig | String | User Signature |
callback | Function | callback function, code = 0 means the call was successful; code ! = 0 means the call failed, see msg for the reason. |
logout
const TUICallKit = uni.requireNativePlugin('TencentCloud-TUICallKit');TUICallKit.logout((res) => {if (res.code === 0) {console.log('logout success');} else {console.log(`logout failed, error message = ${res.msg}`);}});
Parameter | Type | Description |
callback | Function | callback function, code = 0 means the call was successful; code ! = 0 means the call failed, see msg for the reason. |
setSelfInfo
This API is used to set the alias and profile photo. The alias cannot exceed 500 bytes, and the profile photo is specified by a URL.
const TUICallKit = uni.requireNativePlugin('TencentCloud-TUICallKit');const options = {nickName: 'jack',avatar: 'https:/****/user_avatar.png'}TUICallKit.setSelfInfo(options, (res) => {if (res.code === 0) {console.log('setSelfInfo success');} else {console.log(`setSelfInfo failed, error message = ${res.msg}`);}});
Parameter | Type | Description |
options | Object | Initialization parameters |
options.nickName | String | Nickname of the target user, not required |
options.avatar | String | Target user's avatar, not required |
callback | Function | callback function, code = 0 means the call was successful; code ! = 0 means the call failed, see msg for the reason. |
call
This API is used to make a (one-to-one) call.
const TUICallKit = uni.requireNativePlugin('TencentCloud-TUICallKit');const options = {userID: 'mike',callMediaType: 1, // audio call(callMediaType = 1)、video call(callMediaType = 2)roomID: 0,strRoomID: '1223',};TUICallKit.call(options, (res) => {if (res.code === 0) {console.log('call success');} else {console.log(`call failed, error message = ${res.msg}`);}});
The parameters are described below:
Parameter | Type | Description |
options | Object | Initialization parameters |
options.userID | String | The userID of the target user |
options.callMediaType | Number | Media type of the call, e.g., voice call (callMediaType = 1), video call (callMediaType = 2) |
options.roomID | Number | Customize the numeric room number. As long as the roomID is present, the numeric room number is used, even if strRoomID is present. |
options.strRoomID | String | Customize the string room number. If you want to use a string room number, you need to set roomID = 0 after setting strRoomID. |
callback | Function | callback function, code = 0 means the call was successful; code ! = 0 means the call failed, see msg for the reason. |
groupCall
This API is used to make a group call.
Note:
Before making a group call, you need to create an IM group first.
const TUICallKit = uni.requireNativePlugin('TencentCloud-TUICallKit');const options = {groupID: 'myGroup',userIDList: ['mike', 'tom'],callMediaType: 1, // audio call(callMediaType = 1)、video call(callMediaType = 2)};TUICallKit.groupCall(options, (res) => {if (res.code === 0) {console.log('call success');} else {console.log(`call failed, error message = ${res.msg}`);}});
Parameter | Type | Description |
options | Object | Initialization parameters |
options.groupID | String | Group ID for this group cal |
options.userIDList | List | The target user IDs. |
options.callMediaType | Number | Media type of the call, e.g., voice call (callMediaType = 1), video call (callMediaType = 2) |
options.roomID | Number | Customize the numeric room number. As long as the roomID is present, the numeric room number is used, even if strRoomID is present. |
options.strRoomID | String | Customize the string room number. If you want to use a string room number, you need to set roomID = 0 after setting strRoomID. |
joinInGroupCall
This API is used to join a group call.
const TUICallKit = uni.requireNativePlugin('TencentCloud-TUICallKit');const options = {roomID: 9898,groupID: 'myGroup',callMediaType: 1, // audio call(callMediaType = 1)、video call(callMediaType = 2)};TUICallKit.joinInGroupCall(options, (res) => {if (res.code === 0) {console.log('joinInGroupCall success');} else {console.log(`joinInGroupCall failed, error message = ${res.msg}`);}});
Parameter | Type | Description |
options | Object | Initialization parameters |
options.roomID | Number | Customize the numeric room number. As long as the roomID is present, the numeric room number is used, even if strRoomID is present. |
options.strRoomID | String | Customize the string room number. If you want to use a string room number, you need to set roomID = 0 after setting strRoomID. |
options.groupID | String | Group ID for this group cal |
options.callMediaType | Number | Media type of the call, e.g., voice call (callMediaType = 1), video call (callMediaType = 2) |
callback | Function | callback function, code = 0 means the call was successful; code ! = 0 means the call failed, see msg for the reason. |
setCallingBell
To set a customized incoming call tone, here you are limited to passing in the local file address, and you need to make sure that the file directory is accessible to the application.
const TUICallKit = uni.requireNativePlugin('TencentCloud-TUICallKit');// 【1】Save audio files locally through uni.saveFile. Reference.: https://zh.uniapp.dcloud.io/api/file/file.html#savefileconst tempFilePath = './static/rain.mp3';let musicFilePath = '';uni.saveFile({tempFilePath: tempFilePath,success: (res) => {musicFilePath = res.savedFilePath;// 【2】Convert relative path to absolute path, otherwise access will not be possiblemusicFilePath = plus.io.convertLocalFileSystemURL(musicFilePath);// 【3】set ringtoneTUICallKit.setCallingBell(musicFilePath, (res) => {if (res.code === 0) {console.log('setCallingBell success');} else {console.log(`setCallingBell failed, error message = ${res.msg}`);}});},fail: (err) => {console.error('save failed');},});
Parameter | Type | Description |
filePath | String | Ringtone local file address |
callback | Function | callback function, code = 0 means the call was successful; code ! = 0 means the call failed, see msg for the reason. |
enableMuteMode
This API is used to set whether to turn on the mute mode.
const TUICallKit = uni.requireNativePlugin('TencentCloud-TUICallKit');const enable = true;TUICallKit.enableMuteMode(enable);
Parameter | Type | Description |
enable | Boolean | Mute on, mute off; true means mute on |
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.const TUICallKit = uni.requireNativePlugin('TencentCloud-TUICallKit');const enable = true;TUICallKit.enableFloatWindow(enable);
Parameter | Type | Description |
enable | Boolean | Enable/disable the floating window function; true means floating window is enabled. |
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.Note:
v2.3.1 supported
const TUICallKit = uni.requireNativePlugin('TencentCloud-TUICallKit');const enable = true;TUICallKit.enableIncomingBanner(enable);