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 zActivityStartingState
.
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
- Adresy URL określone w
ActivityStartingState
muszą należeć do tego samego źródła co źródła określone w pliku manifestu dodatku. Więcej informacji znajdziesz w artykule o dodatkowych zabezpieczeniach. - Długość nazwy właściwości
sidePanelUrl
,mainStageUrl
iadditionalData
musi być zgodna z odpowiednimi limitami rozmiaru opublikowanymi w dokumentach referencyjnych pakietu SDK.
Powiązane artykuły
- Używanie stanu początkowego aktywności
- Używanie dodatku Meet
- Wdrażanie interfejsu Co-Doing API
- Zabezpieczenia dodatku