Quick start
Prerequisites
- Go to ZEGOCLOUD Admin Console to create a UIKit project.
- Get the AppID and ServerSecret of the project.
Integrate the SDK
Import the SDK
Choose either of the following to import the Call Kit:
Initialize the Call Kit with call invitation feature
Initialize the Call Kit, and add the call invitation plug-in:
- Generate a Kit Token
- Fill in the required parameters in the following code.
// Generate a Token by calling a method.
// @param 1: appID
// @param 2: serverSecret
// @param 3: Room ID
// @param 4: User ID
// @param 5: Username
const userID = "";
const userName = "userName" + userID;
const appID = 0;
const serverSecret = "";
const TOKEN = ZegoUIKitPrebuilt.generateKitTokenForTest(appID, serverSecret,null, userID, userName);
const zp = ZegoUIKitPrebuilt.create(TOKEN);
zp.addPlugins({ ZIM });
Set a button-trigger event
Set up a button and add a button-click event for making call invitations.
You can customize the position of the button you set for making call invitations accordingly, passing in the ID of the user you want to call.
<button onclick="invite()">invite</button>
function invite() {
const targetUser = {
userID:'',
userName:''
};
zp.sendCallInvitation({
callees: [targetUser],
callType: ZegoUIKitPrebuilt.InvitationTypeVideoCall,
timeout: 60, // Timeout duration (second). 60s by default, range from [1-600s].
}).then((res) => {
console.warn(res);
})
.catch((err) => {
console.warn(err);
});
}
Run & Test
So far, you have finished all the steps!
Now you can start up and run the project in a browser using a server you're familiar with.
Resources
Click here to code online and check it in action.
Click here to try a live demo.
Related guides
Reference
-
Description
Send a call invitation.
-
Function Prototype
sendCallInvitation(params: { callees: ZegoUser[]; callType: ZegoInvitationType; timeout?: number; roomID?: string; data?: string; notificationConfig?: ZegoSignalingPluginNotificationConfig; }): Promise<{ errorInvitees: ZegoUser[]; }>;
-
Parameter Description
Parameter Type Required Description callees ZegoUser[] Yes List of callee users. A user can invite up to 9 other users at most. callType ZegoInvitationType Yes Call type. timeout number No The duration of waiting for the callee response to the invitation, in seconds, with a value range of [1, 600]. The default value is 90. roomID string No Room ID, generated by you, is a string with a maximum length of 128 bytes. It only supports numbers, English characters, and the following characters: '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/'. data string No Extension field. notificationConfig ZegoSignalingPluginNotificationConfig No Offline push configuration.
-
Description
User information class.
-
Parameter Description
Parameter Type Required Description userID string Yes Unique identifier of the user, defined by you, up to 32 bytes long, only supporting numbers, English characters, and '!', '#', '$', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', ' userName string No Name of the user. Up to 256 bytes long. avatar string No Set the user avatar on the call page. setUserAvatar (avatar: string) => void No Method to set the user avatar by passing in the image resource address.
-
Description
Enumeration class of call invitation types.
-
Enumerations
Enum Value Description VoiceCall 0 Voice call. VideoCall 1 Video call.
-
Description
Offline invitation configuration.
-
Parameter Description
Parameter Type Required Description resourcesID string No An English string that can map multiple vendor advanced push configurations, with a length not exceeding 32 characters, customized by the developer. which must be set to the same value as the Push Resource ID in ZEGOCLOUD Admin Console. title string No Push title. message string No Content of the push.