Switch Particpant from Connected Meeting - React Native
Method
-
switchTo - If you want a participant from a connected meeting to be switched from one meeting to another meeting,
switchTomethod is used. This method acceptmeetingId,tokenandpayloadas an object.meetingId- This should be themeetingIdwhere you want to switch that participant from the joined meeting.
Event
- switch-meeting - This event will emit at participant side who is going to be switch with arguments
meetingId,payload,token,connectionParticipantIdandconnectionMeetingId
- While calling
switchTo(), you need to pass a pre-generated token so that participant can reinitialize and join that meeting with the latest token onswitch-meetingevent. switch-meetingevent will not switch that participant without any action.
Example
Meeting_A is connected with Meeting_B, there are participants P1 in Meeting_A and P2 in Meeting_B, now Meeting_A participant P1 wants to switch P2 participant from Meeting_B to Meeting_A, then participant P1 will call:
connectionParticipant.switchTo({ meetingId, token, payload })
after that P2 from Meeting_B will receive an event switch-meeting.
Method and Event Code
import { useMeeting, useConnection } from "@videosdk.live/react-native-sdk";
// Get meeting B connection
const { connection } = useConnection("<meeting-B-id>");
// Get participant of meeting B
const connectionParticipant =
connection.meeting.participants.get("<participant-id>");
// Here participant from meeting A requests to switch particpant from meeting B to A
const onClick = () => {
const meetingId = "<meeting-A-id>";
const token = "JWT";
const payload = "payload";
connectionParticipant.switchTo({ meetingId, token, payload });
};
useMeeting({
onSwitchMeeting: ({
meetingId,
payload,
token,
connectionParticipantId,
connectionMeetingId,
}) => {
// Resetting token and meetingId at participant side
setToken(token);
setMeetingId(meetingId);
},
});
For React Native Developer, you need to slightly modify in Initialization config props.
const App = () => {
return (
<MeetingProvider
config={{
meetingId: "<Id-on-meeting>",
name: "<Name-of-participant>",
micEnabled: "<Flag-to-enable-mic>",
webcamEnabled: "<Flag-to-enable-webcam>",
reInitialiseMeetingOnConfigChange: true, // Add This Line
}}
token={"<Authentication-token>"}
>
<>...</>
</MeetingProvider>
);
};
reInitialiseMeetingOnConfigChange prop help you to update token and meeting id at run time, you don't have to rejoin or reinitialize the meeting.
The reason we are using this props is we are resetting meetingId and token at participant side switch-meeting event.
If you not specify this props, MeetingProvider will not able to reset meetingId and token at run time.
Got a Question? Ask us on discord

