Understanding key concepts of the Amazon Chime SDK client library for JavaScript - Amazon Chime SDK

Understanding key concepts of the Amazon Chime SDK client library for JavaScript

To fully understand how to create and manage meetings and users, you need to understand these concepts:

Meeting – A multi-party media session. Every meeting has a unique meeting identifier. You can create meetings in one of the supported AWS Regions. When you create a meeting, a list of Media URLs are returned. Those are a key part of the data needed to join the meeting, and you need to disseminate that data to all users trying to join the meeting.

Attendee – A user trying to join a multi-party media session. Every attendee has a unique identifier, an external user identifier that can be passed in to map the attendee to a user in the developer's system, plus a signed join token that grants them access to the meeting.

MeetingSession and (DefaultMeetingSession) – The root object of the Amazon Chime SDK client library for JavaScript that represents each user’s session in a meeting. The web applications start by instantiating MeetingSession and configuring it with the right meeting and attendee information.

MeetingSessionConfiguration – Stores the meeting and attendee data needed to join a meeting session. That data is the response of the CreateMeeting and CreateAttendee API calls made by the server application. The server application passes this data to the web application, which uses it to instantiate the MeetingSession.

DeviceController (DefaultDeviceController) – Used to enumerate the list of available audio and video devices on a user's system. You can also use the device controller during a meeting to switch active devices.

AudioVideoFacade (DefaultAudioVideoFacade) – The key interface that powers a meeting. It provides the APIs that start, control, and end a meeting. It also provides APIs that listen for the key events that drive user experience changes, such as a roster of attendees, by tracking users joining or leaving, being muted or unmuted, actively speaking, or having poor connectivity. You can also use those APIs to bind the audio control HTML element to the meeting's audio output and play it through the selected audio output device.

ActiveSpeakerDetectorFacade (DefaultActiveSpeakerDetector) – The API that subscribes to active speaker events. Periodically returns a list of attendees ordered by their mic volume over time. You can override and tweak the active speaker policy as needed.

ContentShareController (DefaultContentShareController) – APIs that start-stop and pause-unpause content sharing. It also provides APIs to listen to lifecycle events to track content sharing status.

Logger (ConsoleLogger) – The interface used to leverage the console logs, or pass in a logger object to override the current logging implementation and get different levels of logs from the Amazon Chime SDK.