Access in-meeting user information

View as Markdown

After joining a meeting, access information for each meeting participant through ZoomSDKMeetingActionController and ZoomSDKMeetingActionControllerDelegate.

Use one of several different IDs, each serving its own purpose, to access user information.

  • Customer key - A developer-supplied identifier that may be passed in through the MeetingOptions instance used to join a meeting.
  • User ID - A nonpersistent, unique per-user identifier assigned by Zoom for the current meeting. If a user leaves and rejoins the same meeting, they get a new user ID assigned each time they join. This is also reassigned when switching between the main meeting and breakout rooms.
  • Persistent ID - A per-user identifier assigned by Zoom for the current meeting and all submeetings, such as breakout rooms. This per-user identifier will not be reassigned in the same meeting or submeeting, but users in different meetings may have the same ID value.
  • Participant ID - A unique per-user identifier assigned by Zoom to a user's account. This persists across all meetings for an account. You can't access this ID through the macOS SDK, but can retrieve it through the REST API.

When a user joins a meeting, get their ZoomSDKUserInfo object.

ZoomSDK.shared().getMeetingService()?.getMeetingActionController().delegate = self

extension ViewController: ZoomSDKMeetingActionControllerDelegate {
    func onUserJoin(_ array: [Any]) {
        guard let userIDList = array as? [UInt32] else { return }
        for userID in userIDList {
            let userInfo = ZoomSDK.shared().getMeetingService()?.getMeetingActionController().getUserByUserID(userID)
        }
    }
}

Use the ZoomSDKUserInfo to access data specific to that user.

Get the customer key.

userInfo?.getCustomerKey()

Get the user's avatar picture path, if available.

userInfo?.getAvatarPath()

Get the user ID.

userInfo?.getUserID()

Get the username.

userInfo?.getUserName()

Get the persistent ID.

userInfo?.getPersistentId()

Each user in a meeting or webinar has a role assigned to one of these values under UserRole.

  • UserRole_None - No role has been assigned.
  • UserRole_Host - The host of the current meeting or webinar.
  • UserRole_CoHost - A co-host of the current meeting or webinar.
  • UserRole_Panelist - A panelist in the current meeting or webinar.
  • UserRole_BreakoutRoom_Moderator - The breakout room moderator.
  • UserRole_Attendee - An attendee of the current meeting or webinar.

Get the user's role in the current meeting.

userInfo?.getUserRole()

Determine whether a given user is the current user.

userInfo?.isMySelf()