Resume the call
Introduction
During a call, if the user refreshes the browser, the call will be terminated. To resume the call after refreshing the browser, please refer to this document.
How do I resume the call after refreshing the browser?
1. Get the Room ID
The process of obtaining the Room ID varies depending on the type of call.
Basic Call
When calling the joinRoom
method, listen for the onJoinRoom
callback function and call the getRoomID
method within the onJoinRoom
callback function to obtain and properly record the room ID after successfully joining the call. For example, store it in sessionStorage
for returning to the call after refreshing the browser.
zp.joinRoom({
onJoinRoom: () => {
// Get the roomID
const roomID = zp.getRoomID();
// Store it in sessionStorage
sessionStorage.setItem('roomID', roomID);
}
});
After the user ends the call, the application should delete the roomID
stored in sessionStorage
.
Call with Invitation
When configuring the call invitation using the setCallInvitationConfig
method, listen for the onSetRoomConfigBeforeJoining
callback function.
Call the getRoomID
method within the onSetRoomConfigBeforeJoining
callback function to obtain and properly record the room ID after successfully joining the call. For example, store it in sessionStorage
to return to the room after refreshing the browser.
Then, return a configuration object that includes the autoLeaveRoomWhenOnlySelfInRoom
property set to false
so that the only user left in the call will not automatically exiting the room.
zp.setCallInvitationConfig({
onSetRoomConfigBeforeJoining: () => {
// Get the roomID
const roomID = zp.getRoomID();
// Store it in sessionStorage
sessionStorage.setItem('roomID', roomID);
return {
// Disable the functionality of automatically exiting the room when there is only one person left in the room
autoLeaveRoomWhenOnlySelfInRoom: false,
}
}
});
After the user ends the call, the application should delete the roomID
stored in sessionStorage
.
2. Rejoin the Room
After the user refreshes the browser, the application should retrieve the roomID
from sessionStorage
and call the joinRoom
method to rejoin the room, and set showPreJoinView
to false to disable the pre-join check page for a better user experience.
if (sessionStorage.getItem('roomID')){
// Generate Kit Token
const appID = ;
const token = "";
const roomID = sessionStorage.getItem('roomID');
const userID = "";
const userName = "userName" + userID;
const kitToken = ZegoUIKitPrebuilt.generateKitTokenForProduction(appID, token, roomID, userID, userName);
// Create an instance object using the Kit Token.
const zp = ZegoUIKitPrebuilt.create(kitToken);
zp.joinRoom({
// Hide the pre-join check view
showPreJoinView: false,
});
}
Reference
getRoomID
// Description: Get the Room ID
getRoomID(): string;