Meet アドオンを使用してコラボレーションする

会議の参加者は、Google Chat で Google Meet アドオンのアクティビティ。共同アクティビティを開始すると、 会議のすべての参加者に、アクティビティが 進行中です。

この通知は、アドオンの可用性とインストール ステータスに合わせて表示されます。

  • 参加者にアドオンがインストールされている場合: アクティビティに参加できます。

  • 参加者がアドオンをインストールしていない場合: アドオンをインストールするよう求められます。

  • ご利用の環境でアドオンが 参加者のプラットフォーム: アクティビティに参加できないことが通知される 購入できます

ユーザーがアクティビティに参加すると、独自の iframe が読み込まれます。 できます。新しい結合手が メイン ステージまたはサイドパネルでコラボレーション アクティビティが開きます。

アクティビティを開始する

アクティビティは、 startActivity() メソッドを呼び出します。このメソッドは ActivityStartingState 行うことができます。

ステップ 1(省略可): アドオンがアクティビティの開始状態を設定する

ActivityStartingState には、参加者がアクティビティへの招待を承諾したときに使用されるアドオンの初期状態に関する情報が含まれます。

アドオンは、アクティビティの前またはアクティビティ中にいつでも setActivityStartingState() メソッドを呼び出して ActivityStartingState を設定または更新できます。ActivityStartingStatestartActivity() の呼び出しでのみ設定されている場合、setActivityStartingState() の呼び出しは省略できます。

ステップ 2: アドオンがアクティビティを開始する

アクティビティは、アドオンが MeetSidePanelClientstartActivity() メソッドを呼び出すと開始されます。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 でメインステージの URL が指定されている場合、Meet は ActivityStartingState の URL を使用してメインステージを開きます。

ステップ 3: アクティビティの開始状態を取得する

ユーザーがアクティビティに参加すると、アドオンが読み込まれます ActivityStartingState に応じて、メインステージまたはサイドパネルに配置します。

additionalData プロパティを使用すると、初期データ( 状態として格納されます)。新しい MainStageClient または SidePanelClient の場合、 呼び出すことができます getActivityStartingState() メソッドを使用して additionalData プロパティを取得します。

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

ステップ 4(省略可): アクティビティでアドオンの状態を共有する

アクティビティの進行中に、ユーザー間で状態を共有することもできます。Google Chat では 次の 2 つの方法で状態を共有できます。

  • 独自の同期バックエンドを作成して、自分で処理します。
  • Co-Doing API を使用します。これは、ユーザー間で任意のデータをすばやく簡単に共有できる方法です。

例: GitHub のアニメーション アドオン

GitHub の「アニメーション」サンプル アドオンには、アドオンでのコラボレーションが含まれています。ステップ 1 はサンプルに含まれていません。代わりに、アドオン開始者がサイドパネルの [アニメーションを開始] ボタンをクリックすると、startActivity() メソッドが呼び出され(ステップ 2)、開始状態にユーザーが選択した色が設定されます。 アクティビティが開始されると、メインステージは getActivityStartingState() メソッドを呼び出すステップ 3)。ステップ 4 は省略され、状態( 選択される色)は、この演習の参加者間では共有されません。 サンプルのアドオンです。ただし、個々のユーザーは色を選択して自分の状態を変更できます。色は、フレーム間メッセージングを使用してサイドパネル フレームからメインステージ フレームに送信されます。

制約