Remove Peer
Someone's overstayed their welcome and now you need to remove a peer from the video call room. removePeer method of HMSSDK instance comes to rescue.
Permissions
Can't let just anyone remove others from the video call room. First, you need to create a role with the permissions to remove others.
Only the peers who has role with remove permissions allowed will be able to Remove peers from the Room.
You can check if you (local peer) have permission to remove peers as follows -
const localPeer = await hmsInstance.getLocalPeer(); // Permissions are available on `HMSRole` object of Local Peer const localPeerPermissions: HMSPermissions = localPeer.role?.permissions; // Check if Local Peer has Remove Peer Permission const canRemoveOthers: boolean = localPeerPermissions?.removeOthers;
Remove Peers
You can use removePeer method available on HMSSDK instance to remove peers from the room.
removePeer method accepts two parameters:
- peer:
HMSPeerobject of the peer that you want to remove - reason:
stringreason for removal. Target Peer will receive this reason inHMSUpdateListenerActions.ON_REMOVED_FROM_ROOMevent
Make sure you have above mentioned permission for removePeer to work.
try { const reason = 'removed from room'; await hmsInstance.removePeer(peer, reason); // peer is `HMSPeer` object of the peer to remove console.log('Remove Peer Success'); } catch (error) { console.log('Remove Peer Error: ', error); }
Remove Peer Notification
This section explains how to handle the app UI when you (local peer) are removed from the room by someone else.
Once the peer with adequate permissions calls removePeer, the removed peer will receive a HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM event.
You can update your apps' UI and Free Resources on receive of HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM event.
const onRemovedFromRoom = (data: { requestedBy: HMSPeer | null, reason: string, roomEnded: boolean }) => { // Free App resources and do cleanup destroy(); // Redirect to home screen or Navigate away from Meeting screen navigation.navigate('Home'); }; hmsInstance.addEventListener(HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM, onRemovedFromRoom);
💡 Note: This is the same event that will be emitted if a peer ends the room. Except that roomEnded will be false when a peer is removed from room.
Description of keys of data received from HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM event:
- reason: The
stringmessage detailing why the peer was removed. - requestedBy:
HMSPeerobject of the peer who calledremovePeer. - roomEnded:
falseif only the receiving peer(local peer) was removed.trueif the entire room was ended.



