The EnxRoom.switchUserRole() method allows the Moderator to promote a Participant to act as a Moderator in the ongoing Session. This newly appointed Moderator gets access to Moderator Controls and the former Moderator becomes a Participant in the Session. The new Moderator can further grant the Moderator role to another participant if so desired.

Class: EnxRoom

Method: public void switchUserRole(String ClientId)

Parameter: ClientId – Client ID of the participant who is being designated as Moderator

Callbacks:

  • onSwitchedUserRoleChange – Acknowledgment to the Moderator when a Switch User Role is requested.
  • onUserRoleChanged – Notification to all participants in the Room when a participant is newly appointed as the Moderator. The appointed moderator is notified with extra information required to moderate the Session.
room.switchUserRole(clientId); // Role Change Request from Moderator

public void onSwitchedUserRole(JSONObject jsonObject){
	// Moderator is acknowledged
}

public void onUserRoleChanged(JSONObject jsonObject){
	// All Participants are notified - jsonObject
	/*
	{	"moderator": false, // You are not a moderator
		"clientId": "XXX"   // New Moderator's Client ID
	}
	*/
    
	// New Moderator is notified  - jsonObject
	/*
	{   "moderator": true,  // You are a moderator
		"clientId": "XXX",  // New Moderator's Client ID i.e. You
		"raisedHands":[],   // List of Client IDs requesting Floor Access
		"approvedHands":[]  // List of Client IDs with Floor Access
	}
	*/
}

Error Codes & Exceptions

CodeDescription
5085Unauthorized Access. When a user with participant role invokes switchUserRole()