會議參與者可以協作 Google Meet 外掛程式活動。協作活動開始後,所有會議參與者都會收到活動進行中的通知。
這則通知會根據外掛程式的可用性和安裝狀態進行調整:
如果參與者已安裝外掛程式: 可以加入活動。
如果出席者未安裝外掛程式:系統會引導他們安裝外掛程式。
如果參與者的平台不支援外掛程式:系統會通知他們無法使用目前的裝置加入活動。
使用者加入活動時,系統會載入自己的 iframe,並顯示外掛程式內容。您可以自訂新加入者是否應在主畫面或側邊面板中開啟協作活動。
開始活動
活動是透過呼叫 startActivity() 方法啟動,該方法使用 ActivityStartingState 介面。
步驟 1 (選用):外掛程式設定活動起始狀態
ActivityStartingState 包含外掛程式初始狀態的相關資訊,當參與者接受邀請加入活動時,系統會使用這些資訊。
外掛程式可在活動前或活動期間,隨時呼叫 setActivityStartingState() 方法,設定或更新 ActivityStartingState。如果 ActivityStartingState 是在呼叫 startActivity() 時專門設定,則可以省略對 setActivityStartingState() 的呼叫。
步驟 2:外掛程式啟動活動
外掛程式在 MeetSidePanelClient 上呼叫 startActivity() 方法時,活動就會開始。startActivity() 方法會採用 ActivityStartingState 物件做為參數,因此可以呼叫 startActivity(),而不必呼叫 setActivityStartingState()。
使用者選好內容並準備開始活動後,請在外掛程式中呼叫 startActivity() 方法,如下所示:
sidePanelClient.startActivity({
mainStageUrl: "https://app.example.com/mainstage",
additionalData: JSON.stringify({
// State to send to participants.
})
});
叫用 startActivity() 方法時,Meet 會執行下列動作:
其他參與者:Meet 會顯示活動正在進行的通知。
發起人:如果
ActivityStartingState中指定了主舞台網址,Meet 會使用ActivityStartingState中的網址開啟主舞台。
步驟 3:取得活動起始狀態
使用者加入活動時,系統會根據 ActivityStartingState,將外掛程式載入主畫面或側邊面板。
您可以使用 additionalData 屬性,與加入活動的使用者分享初始資料 (也稱為狀態)。初始化 MainStageClient 或 SidePanelClient 後,您可以呼叫 getActivityStartingState() 方法來擷取 additionalData 屬性。
const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);
步驟 4 (選用):分享活動中的外掛程式狀態
您也可以自行編寫同步處理後端,在活動進行期間與使用者共用狀態。
範例:GitHub 上的動畫外掛程式
GitHub 上的「Animation」範例外掛程式包含外掛程式中的協作功能。本指南的步驟 1 不包含在範例中。相反地,當外掛程式發起人點選側邊面板中的「Start the Animation」按鈕時,系統會呼叫 startActivity() 方法 (步驟 2),並以使用者選取的顏色填入起始狀態。活動啟動後,主畫面會呼叫 getActivityStartingState() 方法 (步驟 3) 擷取起始狀態。步驟 4 已省略,因為在這個範例外掛程式中,活動期間參與者之間不會共用狀態 (所選顏色)。不過,個別使用者可以選取顏色來變更自己的狀態,系統會使用框架間訊息,將顏色從側邊面板框架傳送至主畫面框架。
限制
ActivityStartingState中指定的網址必須與外掛程式資訊清單中指定的來源屬於同一個來源。詳情請參閱「外掛程式安全性」。sidePanelUrl屬性、mainStageUrl屬性和additionalData屬性的字元長度,必須符合 SDK 參考文件所列的個別大小限制。