Współpraca przy użyciu dodatku Meet

Uczestnicy spotkania mogą wspólnie pracować nad aktywnością dodatku Google Meet. Gdy rozpocznie się aktywność grupowa, wszyscy uczestnicy spotkania otrzymają powiadomienie o jej rozpoczęciu.

To powiadomienie jest dostosowane do dostępności i stanu instalacji dodatku:

  • Jeśli uczestnik ma zainstalowany dodatek: może dołączyć do aktywności.

  • Jeśli uczestnik nie ma zainstalowanego dodatku: zostanie poproszony o zainstalowanie dodatku.

  • Jeśli dodatek nie jest dostępny na platformie uczestnika: otrzyma on powiadomienie, że nie może dołączyć do aktywności na obecnym urządzeniu.

Gdy użytkownik dołączy do aktywności, wczyta własne elementy iframe z Twoim dodatkiem. Możesz zdecydować, czy nowi członkowie powinni otwierać aktywność dotyczącą współpracy na ekranie głównym, czy w panelu bocznym.

Rozpocznij aktywność

Aktywność jest uruchamiana przez wywołanie metody startActivity(), która korzysta z interfejsu ActivityStartingState.

Krok 1 (opcjonalny): dodatek ustawia stan początkowy aktywności

ActivityStartingState zawiera informacje o początkowym stanie dodatku, który jest używany, gdy uczestnik zaakceptuje zaproszenie do aktywności.

Dodatek może ustawić lub zaktualizować ActivityStartingState, wywołując metodę setActivityStartingState() w dowolnym momencie przed lub w trakcie aktywności. Połączenia z setActivityStartingState() można pominąć, jeśli w połączeniu z startActivity() jest ustawiony wyłącznie parametr ActivityStartingState.

Krok 2. Dodatek rozpoczyna aktywność

Aktywność rozpocznie się, gdy dodatek wywoła metodę startActivity() w MeetSidePanelClient. Metoda startActivity() przyjmuje jako parametr obiekt ActivityStartingState, więc zamiast wywoływać setActivityStartingState(), można wywołać startActivity().

Gdy użytkownik zakończy wybór treści i będzie gotowy do rozpoczęcia aktywności, wywołaj metodę startActivity() w swojej wtyczce w ten sposób:

    sidePanelClient.startActivity({
        mainStageUrl: "https://app.example.com/mainstage",
        additionalData: JSON.stringify({
            // State to send to participants.
        })
    });

Gdy wywoływana jest metoda startActivity(), Meet wykonuje te czynności:

  • Dla innych uczestników: Meet wyświetla powiadomienie, że aktywność jest w toku.

  • Inicjator: jeśli w elemencie ActivityStartingState został określony adres URL etapu głównego, Meet otworzy scenę główną za pomocą adresu URL z ActivityStartingState.

Krok 3. Pobierz stan rozpoczęcia aktywności

Gdy użytkownik dołączy do aktywności, załaduje Twoje rozszerzenie do głównego okna lub panelu bocznego w zależności od ActivityStartingState.

Dzięki właściwości additionalData możesz udostępniać dane początkowe (nazywane też stanem) użytkownikom dołączającym do aktywności. Po zainicjowaniu MainStageClient lub SidePanelClient możesz wywołać metodę getActivityStartingState(), aby pobrać właściwość additionalData.

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

Krok 4 (opcjonalny): udostępnianie stanu dodatku w aktywności

Możesz też udostępniać stan między użytkownikami podczas trwania aktywności. Stan możesz udostępnić na 2 sposoby:

  • Zajmij się tym samodzielnie, tworząc własny backend synchronizacji.
  • Użyj interfejsu Co-Doing API, który jest wygodnym i szybkim sposobem na udostępnianie dowolnych danych między użytkownikami.

Przykład: dodatek do animacji na GitHubie

Przykładowy dodatek „Animation” na GitHubie umożliwia współpracę w dodatku. Krok 1 z tego przewodnika nie jest uwzględniony w próbce. Zamiast tego, gdy inicjator dodatku kliknie przycisk „Rozpocznij animację” w panelu bocznym, wywoływana jest metoda startActivity() (Krok 2) przez wypełnienie stanu początkowego wybranym przez użytkownika kolorem. Po rozpoczęciu działania etap główny pobiera stan początkowy, wywołując metodę getActivityStartingState() (krok 3). Krok 4 jest pominięty, ponieważ stan (wybrany kolor) nie jest udostępniany uczestnikom podczas aktywności w tym przykładowym dodatku. Poszczególni użytkownicy mogą jednak zmienić swój stan, wybierając kolor, który jest wysyłany z ramki panelu bocznego do ramki głównej za pomocą wiadomości między ramkami.

Ograniczenia