Web&H5 (React)
This article will guide you through the quick integration of the TUICallKit component. You will complete several key steps within 10 minutes, ultimately obtaining a video call feature with a complete UI interface.
Prerequisites
React version 18+.
Node.js version 16+.
Modern browser, supporting WebRTC APIs.
Step 1. Activate the service
Refer to Activate the Service to obtain
SDKAppID, SDKSecretKey
, which will be used as Mandatory Parameters in Initialize the TUICallKit.Step 2. Download the TUICallKit
1. Download the @tencentcloud/call-uikit-react component.
npm install @tencentcloud/call-uikit-react
2. Copy the
debug
directory to your project directory src/debug
, it is necessary when generating userSig locally.cp -r node_modules/@tencentcloud/call-uikit-react/debug ./src
xcopy node_modules\@tencentcloud\call-uikit-react\debug .\src\debug /i /e
Step 3. Initialize the TUICallKit
You can choose to import the sample code in the
/src/App.tsx
file.1. Import the call uikit.
import { useState } from 'react';import { TUICallKit, TUICallKitServer, TUICallType } from "@tencentcloud/call-uikit-react";import * as GenerateTestUserSig from "./debug/GenerateTestUserSig-es"; // Refer to Step 2.2
2. using the <TUICallKit />, which contains the complete UI interaction during a call.
return (<><span> caller's ID: </span><input type="text" placeholder='input caller userID' onChange={(event) => setCallerUserID(event.target.value)} /><button onClick={init}> step1. init </button> <br /><span> callee's ID: </span><input type="text" placeholder='input callee userID' onChange={(event) => setCalleeUserID(event.target.value)} /><button onClick={call}> step2. call </button>{/* 【1】Import the TUICallKit component: Call interface UI */}<TUICallKit /></>);
3. using the TUICallKitServer.init API to log in to the component, you need to
fill in
SDKAppID, SDKSecretKey
as two parameters in the code.const SDKAppID = 0; // TODO: Replace with your SDKAppID (Notice: SDKAppID is of type number)const SDKSecretKey = ''; // TODO: Replace with your SDKSecretKeyconst [callerUserID, setCallerUserID] = useState('');const [calleeUserID, setCalleeUserID] = useState('');//【2】Initialize the TUICallKit componentconst init = async () => {const { userSig } = GenerateTestUserSig.genTestUserSig({userID: callerUserID,SDKAppID,SecretKey: SDKSecretKey,});await TUICallKitServer.init({userID: callerUserID,userSig,SDKAppID,});alert('TUICallKit init succeed');}
Parameter | Type | Note |
userID | String | Unique identifier of the user, defined by you , it is allowed to contain only upper and lower case letters (a-z, A-Z), numbers (0-9), underscores, and hyphens. |
SDKAppID | Number | |
SDKSecretKey | String | |
userSig | String | A security protection signature used for user log in authentication to confirm the user's identity and prevent malicious attackers from stealing your cloud service usage rights. |
Explanation of userSig:
Development environment: If you are running a demo locally and developing debugging, you can use the
genTestUserSig
(Refer to Step 3.2) function in the debug file to generate a `userSig`. In this method, SDKSecretKey is vulnerable to decompilation and reverse engineering. Once your key is leaked, attackers can steal your Tencent Cloud traffic.Production environment: If your project is going live, please use the Server-side Generation of UserSig method.
Step 4. Make your first call
1. using the TUICallKitServer.call API to make a call.
//【3】Make a 1v1 video callconst call = async () => {await TUICallKitServer.call({userID: calleeUserID,type: TUICallType.VIDEO_CALL,});};
2. Run the project.
Warning:
For local environment, please access under localhost protocol. For public network experience, please access under HTTPS protocol. For details, see Description of Network Access Protocol.
3. Open two browser pages, enter different userID (defined by you) click
step1. init
to login (caller and callee).
4. After both userID init to successfully, click on
step2. call
to make a call. If you have a call problem, refer to FAQs.
Additional Features
FAQs
If you encounter any problems with access and use, please refer to FAQs.
If you have any requirements or feedback, you can contact: info_rtc@tencent.com.