使用 Meet 外掛程式進行協作

會議參與者可以透過 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 屬性,與加入活動的使用者分享初始資料 (也稱為狀態)。初始化 MainStageClientSidePanelClient 後,即可呼叫 getActivityStartingState() 方法來擷取 additionalData 屬性。

const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);

步驟 4 (選用):在活動中分享外掛程式狀態

您也可以在活動進行期間與其他使用者分享狀態。您可以透過下列兩種方式共用狀態:

  • 自行編寫同步後端,處理同步作業。
  • 使用 Co-Doing API,在使用者之間分享任意資料,方便又快速。

範例:GitHub 上的動畫外掛程式

GitHub 上的「Animation」範例外掛程式包含外掛程式中的協作功能。本指南的步驟 1 不包含在範例中。相反地,當外掛程式啟動器點選側邊面板中的「Start the Animation」按鈕時,系統會呼叫 startActivity() 方法 (步驟 2),並以使用者選取的顏色填入起始狀態。活動開始後,主要階段會呼叫 getActivityStartingState() 方法 (步驟 3) 來擷取起始狀態。由於這個範例外掛程式的活動期間,參與者不會共用狀態 (所選顏色),因此省略步驟 4。不過,個別使用者可以選取顏色來變更自己的狀態,並使用 frame-to-frame 訊息,將狀態從側邊面板影格傳送至主要影格。

限制