このページでは、アドオンが Google Meet と通信するために必要なクライアント オブジェクトを管理する方法について説明します。
まず、アドオンはセッションを確立する必要があります。
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
CLOUD_PROJECT_NUMBER は、Google Cloud プロジェクトのプロジェクト番号に置き換えます。
セッションから、次の 2 つのクライアント オブジェクトを作成できます。
メインステージで実行されているアドオンの
MeetMainStageClient
。await session.createMainStageClient()
を使用して取得できます。サイドパネルで実行されているアドオンの
MeetSidePanelClient
。await session.createSidePanelClient()
を使用して取得できます。
メインステージまたはサイドパネルの正しいクライアント オブジェクトを取得することが重要です。間違ったクライアントが取得された場合、Google Meet アドオン SDK は例外をスローします。アドオンが実行されている iframe(メインステージまたはサイドパネル)を確認するには、getFrameType()
メソッドを使用します。
次のコードサンプルは、メインステージ クライアント オブジェクトをインスタンス化する方法を示しています。
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER"
});
const mainStageClient = await session.createMainStageClient();
CLOUD_PROJECT_NUMBER は、Cloud プロジェクトのプロジェクト番号に置き換えます。
共通の機能
一部の機能は MeetMainStageClient
オブジェクトと MeetSidePanelClient
オブジェクトの両方で使用できますが、他の機能は特定のクライアントに固有です。
たとえば、両方のクライアントで利用できる機能には次のようなものがあります。
- 参加者がアクティビティへの招待を承諾したときに、アドオンの初期状態に関する情報を取得する
getActivityStartingState()
メソッド。 - アドオンが実行されている会議の詳細を取得する
getMeetingInfo()
メソッド。 - 参加者がアクティビティに参加するための招待を承諾したときのアドオンの初期状態を設定する
setActivityStartingState()
メソッド。 - 両方のクライアントの機能の一覧については、
MeetAddonClient
オブジェクトをご覧ください。
クライアント固有の機能
MeetMainStageClient
オブジェクトでのみ使用できる機能:
notifySidePanel()
メソッドは、サイドパネルにメッセージを送信します。メッセージは、サイドパネルでframeToFrameMessage
コールバックをサブスクライブすることで受信できます。loadSidePanel()
メソッドは、サイドパネルの iframe を開きます。iframe のソースは、マニフェスト ファイルのサイドパネル URL に設定されています。unloadSidePanel()
メソッドは、サイドパネルの iframe を閉じます。メソッドが呼び出されると、アドオンの状態は Meet 内で保持されません。このメソッドが呼び出される前にアドオンの状態を保持するのはアドオン次第です。
MeetSidePanelClient
オブジェクトでのみ使用できる機能:
notifyMainStage()
メソッドは、メッセージを mainStage に送信します。メインステージのframeToFrameMessage
コールバック プロパティにサブスクライブすることで、メッセージを受信できます。