RoomParticipantStore provides a comprehensive set of APIs to manage room participant related operations.Property | Type | Description |
participantList | Participant list. | |
participantListCursor | String | Participant list cursor. |
audienceList | Audience list (for webinar room). | |
audienceListCursor | String | Audience list cursor. |
adminList | Admin list. | |
messageDisabledUserList | Message disabled user list. | |
participantListWithVideo | Participant list with video. | |
participantWithScreen | Participant sharing screen. | |
pendingDeviceApplications | Pending device application list. | |
pendingDeviceInvitations | Pending device invitation list. | |
speakingUsers | [String : Int] | Speaking users and their volume. |
networkQualities | [String : NetworkInfo] | User network quality info. |
pendingParticipantList | Pending participant list. | |
localParticipant | Local participant info. |
Function | Description |
Create object instance. | |
Participant event publisher. | |
Get participant list. | |
Get audience list (for webinar room). | |
Search users by keyword. | |
Promote audience to participant (for webinar room). | |
Demote participant to audience (for webinar room). | |
Transfer owner. | |
Set admin. | |
Revoke admin. | |
Kick user. | |
Update participant name card. | |
Update participant metadata. | |
Mute microphone. | |
Unmute microphone. | |
Close participant device. | |
Mute user. | |
Disable all devices. | |
Mute all users. | |
Request to open device. | |
Cancel open device request. | |
Approve open device request. | |
Reject open device request. | |
Invite to open device. | |
Cancel open device invitation. | |
Accept open device invitation. | |
Decline open device invitation. |
public static func create(roomID: String) -> RoomParticipantStore {let store: RoomParticipantStoreImpl = StoreFactory.shared.getStore(roomID: roomID)return store}
Parameter | Type | Description |
roomID | String | Room ID. |
public func getParticipantList(cursor: String?, completion: ListResultCompletionClosure<RoomParticipant>?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
cursor | String? | Pagination cursor. |
completion | Completion callback. |
public func getAudienceList(cursor: String?, completion: ListResultCompletionClosure<RoomUser>?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
cursor | String? | Pagination cursor. |
completion | Completion callback. |
public func searchUsers(keyword: String, completion: ListResultCompletionClosure<RoomUser>?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
keyword | String | Search keyword. |
completion | Completion callback. |
public func promoteAudienceToParticipant(userID: String, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
completion | CompletionClosure? | Completion callback. |
public func demoteParticipantToAudience(userID: String, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
completion | CompletionClosure? | Completion callback. |
public func transferOwner(userID: String, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
completion | CompletionClosure? | Completion callback. |
public func setAdmin(userID: String, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
completion | CompletionClosure? | Completion callback. |
public func revokeAdmin(userID: String, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
completion | CompletionClosure? | Completion callback. |
public func kickUser(userID: String, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
completion | CompletionClosure? | Completion callback. |
public func updateParticipantNameCard(userID: String, nameCard: String, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
nameCard | String | Name card. |
completion | CompletionClosure? | Completion callback. |
public func updateParticipantMetaData(userID: String, metaData: [String: String], completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
metaData | [String: String] | Metadata. |
completion | CompletionClosure? | Completion callback. |
public func muteMicrophone() { fatalError("\\(#function) must be overridden by subclass") }
public func unmuteMicrophone(completion: CompletionClosure?) { fatalError("\\(#function) must be overridden by subclass") }
Parameter | Type | Description |
completion | CompletionClosure? | Completion callback. |
public func closeParticipantDevice(userID: String, device: DeviceType, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
device | DeviceType | Device type. |
completion | CompletionClosure? | Completion callback. |
public func disableUserMessage(userID: String, disable: Bool, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
disable | Bool | Whether to mute. |
completion | CompletionClosure? | Completion callback. |
public func disableAllDevices(device: DeviceType, disable: Bool, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
device | DeviceType | Device type. |
disable | Bool | Whether to disable. |
completion | CompletionClosure? | Completion callback. |
public func disableAllMessages(disable: Bool, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
disable | Bool | Whether to mute. |
completion | CompletionClosure? | Completion callback. |
public func requestToOpenDevice(device: DeviceType, timeout: Int = 0, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
device | DeviceType | Device type. |
timeout | Int | Timeout (in seconds). |
completion | CompletionClosure? | Completion callback. |
public func cancelOpenDeviceRequest(device: DeviceType, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
device | DeviceType | Device type. |
completion | CompletionClosure? | Completion callback. |
public func approveOpenDeviceRequest(device: DeviceType, userID: String, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
device | DeviceType | Device type. |
userID | String | User ID. |
completion | CompletionClosure? | Completion callback. |
public func rejectOpenDeviceRequest(device: DeviceType, userID: String, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
device | DeviceType | Device type. |
userID | String | User ID. |
completion | CompletionClosure? | Completion callback. |
public func inviteToOpenDevice(userID: String, device: DeviceType, timeout: Int = 0, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
device | DeviceType | Device type. |
timeout | Int | Timeout (in seconds). |
completion | CompletionClosure? | Completion callback. |
public func cancelOpenDeviceInvitation(userID: String, device: DeviceType, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
device | DeviceType | Device type. |
completion | CompletionClosure? | Completion callback. |
public func acceptOpenDeviceInvitation(userID: String, device: DeviceType, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
device | DeviceType | Device type. |
completion | CompletionClosure? | Completion callback. |
public func declineOpenDeviceInvitation(userID: String, device: DeviceType, completion: CompletionClosure?) {fatalError("\\(#function) must be overridden by subclass")}
Parameter | Type | Description |
userID | String | User ID. |
device | DeviceType | Device type. |
completion | CompletionClosure? | Completion callback. |
Enum Value | Value | Description |
owner | 0 | Owner. |
admin | 1 | Admin. |
generalUser | 2 | General user. |
Enum Value | Description |
scheduled | Scheduled. |
inCalling | In calling. |
callTimeout | Call timeout. |
callRejected | Call rejected. |
inRoom | In room. |
Enum Value | Description |
kickedByAdmin | Kicked by admin. |
replacedByAnotherDevice | Replaced by another device. |
kickedByServer | Kicked by server. |
connectionTimeout | Connection timeout. |
invalidStatusOnReconnect | Invalid status on reconnect. |
roomLimitExceeded | Room limit exceeded. |
Enum Value | Description |
onParticipantJoined | Triggered when a participant joins the room. |
onParticipantLeft | Triggered when a participant leaves the room. |
onAudiencePromotedToParticipant | Triggered when an audience is promoted to participant. |
onParticipantDemotedToAudience | Triggered when a participant is demoted to audience. |
onOwnerChanged | Triggered when the owner changes. |
onAdminSet | Triggered when an admin is set. |
onAdminRevoked | Triggered when an admin is revoked. |
onKickedFromRoom | Triggered when kicked from the room. |
onParticipantDeviceClosed | Triggered when a participant's device is closed. |
onUserMessageDisabled | Triggered when a user is muted. |
onAllDevicesDisabled | Triggered when all devices are disabled. |
onAllMessagesDisabled | Triggered when all users are muted. |
onDeviceRequestReceived | Triggered when a device request is received. |
onDeviceRequestCancelled | Triggered when a device request is cancelled. |
onDeviceRequestTimeout | Triggered when a device request times out. |
onDeviceRequestApproved | Triggered when a device request is approved. |
onDeviceRequestRejected | Triggered when a device request is rejected. |
onDeviceRequestProcessed | Triggered when a device request is processed. |
onDeviceInvitationReceived | Triggered when a device invitation is received. |
onDeviceInvitationCancelled | Triggered when a device invitation is cancelled. |
onDeviceInvitationTimeout | Triggered when a device invitation times out. |
onDeviceInvitationAccepted | Triggered when a device invitation is accepted. |
onDeviceInvitationDeclined | Triggered when a device invitation is declined. |
Property | Type | Description |
participantList | Participant list. | |
participantListCursor | String | Participant list cursor. |
audienceList | Audience list (for webinar room). | |
audienceListCursor | String | Audience list cursor. |
adminList | Admin list. | |
messageDisabledUserList | Message disabled user list. | |
participantListWithVideo | Participant list with video. | |
participantWithScreen | Participant sharing screen. | |
pendingDeviceApplications | Pending device application list. | |
pendingDeviceInvitations | Pending device invitation list. | |
speakingUsers | [String : Int] | Speaking users and their volume. |
networkQualities | [String : NetworkInfo] | User network quality info. |
pendingParticipantList | Pending participant list. | |
localParticipant | Local participant info. |
피드백