Współpraca przy użyciu dodatku Meet

Uczestnicy spotkania mogą wspólnie pracować nad aktywnością dodatkową w Google Meet. Gdy rozpocznie się aktywność wspólna, wszyscy uczestnicy spotkania otrzymają powiadomienie o tym, że trwa aktywność.

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 jego zainstalowanie.

  • Jeśli dodatek jest niedostępny na platformie uczestnika: uczestnik otrzyma informację, ż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 zawartością dodatku. Możesz dostosować, czy nowi uczestnicy powinni otwierać aktywność wspólną w głównej części ekranu czy w panelu bocznym.

Rozpocznij aktywność

Aktywność jest uruchamiana przez wywołanie metody startActivity() za pomocą interfejsu ActivityStartingState.

Krok 1. (Opcjonalnie) Dodatek ustawia stan początkowy aktywności

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

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

Krok 2. Dodatek rozpoczyna aktywność

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

Gdy użytkownik wybierze treści i będzie gotowy do rozpoczęcia aktywności, wywołaj metodę startActivity() w dodatku 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 działania:

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

  • Dla inicjatora: jeśli w polu ActivityStartingState określono adres URL głównej sceny, Meet otworzy główną scenę, używając adresu URL z pola ActivityStartingState.

Krok 3. Uzyskaj stan początkowy aktywności

Gdy użytkownik dołączy do aktywności, dodatek zostanie wczytany na głównym etapie lub w panelu bocznym w zależności od ActivityStartingState.

Za pomocą właściwości additionalData możesz udostępniać dane początkowe (nazywane też stanem) użytkownikom dołączającym do aktywności. Po zainicjowaniuMainStageClient 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ępnij stan dodatku w aktywności

Możesz też udostępniać stan innym użytkownikom podczas trwania aktywności. Stan możesz udostępniać na 2 sposoby:

  • Możesz to zrobić samodzielnie, tworząc własne zaplecze synchronizacji.
  • Użyj interfejsu Co-Doing API, który jest wygodnym i szybkim sposobem udostępniania dowolnych danych między użytkownikami.

Przykład: dodatek do animacji w GitHubie

Przykładowy dodatek „Animacja” w GitHubie zawiera funkcję współpracy nad dodatkiem. Krok 1 z tego przewodnika nie jest uwzględniony w próbce. Zamiast tego, gdy inicjator dodatku kliknie przycisk „Uruchom animację” w panelu bocznym, wywoływana jest metoda startActivity() (krok 2), która wypełnia stan początkowy wybranym przez użytkownika kolorem. Po rozpoczęciu aktywności główny etap pobiera stan początkowy, wywołując metodę getActivityStartingState() (krok 3). Krok 4 został pominięty, ponieważ w tym przykładowym dodatku stan (wybrany kolor) nie jest udostępniany uczestnikom podczas aktywności. 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 sceny za pomocą komunikacji między ramkami.

Ograniczenia