The Amazon Chime SDK for JavaScript, currently at version 3.30.0, provides a comprehensive set of real-time communication components for web applications. It enables developers to integrate features such as messaging, audio, video, and screen sharing, leveraging AWS's global communication infrastructure. The SDK operates by connecting to meeting session resources provisioned within an AWS account, offering a robust API for configuring sessions, managing audio/video devices, handling screen sharing, and controlling various meeting features. With a roughly monthly release cadence, the library is actively maintained and supports modern browser environments (Chrome 78+, Firefox 75+, Safari 13+). Key differentiators include its deep integration with AWS services for scalable backend provisioning and a modular design that allows for either custom UI development or integration with higher-level libraries like the Amazon Chime SDK React Component Library. It also offers native SDKs for iOS and Android, providing a consistent cross-platform development experience.
npm install amazon-chime-sdk-jsVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to initialize an Amazon Chime SDK meeting session, including setting up a logger, device controller, and handling basic audio/video events. It simulates backend responses for meeting and attendee information, which are crucial for client-side session configuration and connection. It also includes steps for requesting permissions and selecting audio input devices.
Review the v3 migration guide. Update device selection logic to use the `DefaultDeviceController` and methods like `chooseAudioInputDevice` and `startVideoInputDevice` explicitly. The `chooseVideoInputDevice` method was renamed to `startVideoInputDevice`, and `selectVideoInputDevice` was added for selection without immediate activation.
Ensure target browsers meet the minimum requirements (e.g., Chrome 78+, Firefox 75+, Safari 13+).
Develop or deploy a backend service (e.g., using AWS Lambda and API Gateway) that utilizes the AWS SDK (e.g., `@aws-sdk/client-chime-sdk-meetings` for JS v3) to create and manage meetings and attendees, passing the generated meeting and attendee responses to the client-side SDK.
Implement robust error handling for `audioVideoDidStop` and other delegate methods to identify `MeetingSessionStatusCode` (e.g., `AudioCallAtCapacity`, `MeetingEnded`). Monitor meeting usage on the backend using Chime SDK event notifications and AWS quotas.
Always prompt for and verify microphone and camera permissions (`navigator.mediaDevices.getUserMedia`) before attempting to start audio/video. Provide clear UI feedback to the user if permissions are denied or fail to be acquired.
For selecting a video input without immediately starting it, use `meetingSession.audioVideo.selectVideoInputDevice(device)`. To select and start video input, use `meetingSession.audioVideo.startVideoInputDevice(device)`.
This is a server-side limit. Ensure that the number of attendees does not exceed the maximum limit. Track attendee counts in your server application using Amazon Chime SDK event notifications to prevent exceeding capacity.
Verify that the `DeleteMeeting` API action was not called prematurely on your server application. Implement logic to handle meeting inactivity detection and inform users if a meeting is ending.
Review your AWS IAM policy associated with the credentials used by your backend. Ensure it grants sufficient permissions for the specific Amazon Chime SDK API actions being invoked.