tencent cloud

Feedback

TUICallKit

Last updated: 2024-07-19 14:15:49

    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
    login
    logout
    logout
    Sets the user nickname and profile photo.
    call
    Makes a one-to-one call.
    groupCall
    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#savefile
    const 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 possible
    musicFilePath = plus.io.convertLocalFileSystemURL(musicFilePath);
    // 【3】set ringtone
    TUICallKit.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);
    
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support