This page describes how to manage client objects that an add-on needs to communicate with Google Meet.
First, the add-on needs to establish a session:
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
Replace CLOUD_PROJECT_NUMBER with the project number of your Google Cloud project.
From the session, two client objects can be created:
The
MeetMainStageClient
for an add-on running in the main stage, retrievable usingawait session.createMainStageClient()
.The
MeetSidePanelClient
for an add-on running in the side panel, retrievable usingawait session.createSidePanelClient()
.
It's important to retrieve the correct client object for either the main stage
or side panel. If the wrong client is retrieved, the Google Meet add-ons SDK throws
an exception. To check which iframe (main stage or side panel) the
add-on is running in, use the
getFrameType()
method.
The following code sample shows how to instantiate the main stage client object:
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER"
});
const mainStageClient = await session.createMainStageClient();
Replace CLOUD_PROJECT_NUMBER with the project number of your Cloud project.
Shared features
Some features are available in both the MeetMainStageClient
and the
MeetSidePanelClient
object, whereas other features are specific to a certain
client.
For example, some features that are available in both clients include:
- The
getActivityStartingState()
method that gets information about the initial state of the add-on when the participant accepts the invitation to join the activity. - The
getMeetingInfo()
method that gets details about the meeting in which the add-on is running. - The
setActivityStartingState()
method that sets the initial state of the add-on when the participant accepts the invitation to join the activity. - For a comprehensive list of features in both clients, see the
MeetAddonClient
object.
Client-specific features
Features available only in the
MeetMainStageClient
object:
The
notifySidePanel()
method sends a message to the side panel. The message can be received by subscribing to theframeToFrameMessage
callback in the side panel.The
loadSidePanel()
method opens the side-panel iframe. The iframe source is set to the side-panel URL from the manifest file.The
unloadSidePanel()
method closes the side-panel iframe. The add-on state isn't retained within Meet when the method is called. It's up to the add-on to persist any add-on state before this method is called.
Features available only in the
MeetSidePanelClient
object:
- The
notifyMainStage()
method sends a message to the mainStage. The message can be received by subscribing to theframeToFrameMessage
callback property in the mainstage.