Collaborare utilizzando un componente aggiuntivo di Meet

I partecipanti a una riunione possono collaborare a un'attività del componente aggiuntivo di Google Meet. Quando viene avviata un'attività collaborativa, tutti i partecipanti alla riunione ricevono una notifica che indica che l'attività è in corso.

Questa notifica è adattata alla disponibilità e allo stato di installazione del plug-in:

  • Se il partecipante ha installato il componente aggiuntivo: puoi partecipare all'attività.

  • Se il partecipante non ha installato il componente aggiuntivo: gli viene chiesto di installarlo.

  • Se il componente aggiuntivo non è disponibile per la piattaforma del partecipante: viene informato che non può partecipare all'attività utilizzando il suo attuale dispositivo.

Quando un utente partecipa all'attività, carica i propri iframe con i contenuti del tuo componente aggiuntivo. Puoi personalizzare se i nuovi utenti devono aprire l'attività collaborativa nella schermata principale o nel riquadro laterale.

Avvia l'attività

Un'attività viene avviata chiamando il metodo startActivity(), che utilizza l'interfaccia ActivityStartingState.

(Facoltativo) Passaggio 1: il componente aggiuntivo imposta lo stato iniziale dell'attività

ActivityStartingState contiene informazioni sullo stato iniziale del plug-in utilizzato quando il partecipante accetta l'invito a partecipare all'attività.

Il componente aggiuntivo può impostare o aggiornare il valore ActivityStartingState chiamando il metodo setActivityStartingState() in qualsiasi momento prima o durante l'attività. Le chiamate a setActivityStartingState() possono essere omesse se ActivityStartingState è impostato esclusivamente nella chiamata a startActivity().

Passaggio 2: il componente aggiuntivo avvia l'attività

L'attività inizia quando il componente aggiuntivo chiama il metodo startActivity() su MeetSidePanelClient. Il metodo startActivity() prende un oggetto ActivityStartingState come parametro, quindi startActivity() può essere chiamato anziché chiamare setActivityStartingState().

Quando l'utente ha completato la selezione dei contenuti ed è pronto per avviare un'attività, chiama il metodo startActivity() nel tuo componente aggiuntivo come segue:

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

Quando viene invocato il metodo startActivity(), Meet esegue le seguenti azioni:

  • Per gli altri partecipanti: Meet mostra una notifica che indica che l'attività è in corso.

  • Per l'iniziatore: se in ActivityStartingState è stato specificato un URL della fase principale, Meet apre la fase principale utilizzando l'URL di ActivityStartingState.

Passaggio 3: ottieni lo stato iniziale dell'attività

Quando un utente partecipa all'attività, carica il tuo componente aggiuntivo nel riquadro principale o nel riquadro laterale, a seconda del ActivityStartingState.

Con la proprietà additionalData, puoi condividere i dati iniziali (chiamati anche stato) con gli utenti che partecipano all'attività. Dopo aver inizializzato un MainStageClient o un SidePanelClient, puoi chiamare il metodo getActivityStartingState() per recuperare la proprietà additionalData.

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

(Facoltativo) Passaggio 4: condividi lo stato del componente aggiuntivo in un'attività

Puoi anche condividere lo stato tra gli utenti mentre l'attività è in corso. Puoi condividere lo stato in due modi:

  • Gestiscilo autonomamente creando il tuo backend di sincronizzazione.
  • Utilizza l'API Co-Doing, che è un modo pratico e veloce per condividere dati arbitrari tra utenti.

Esempio: componente aggiuntivo di animazione su GitHub

Il componente aggiuntivo di esempio"Animazione" su GitHub include la collaborazione in un componente aggiuntivo. Il passaggio 1 di questa guida non è incluso nel Sample. Invece, quando l'iniziatore del componente aggiuntivo fa clic sul pulsante "Avvia l'animazione" nel riquadro laterale, viene chiamato il metodo startActivity() (Passaggio 2) compilando lo stato iniziale con il colore selezionato dall'utente. Dopo l'avvio dell'attività, il livello principale recupera lo stato iniziale chiamando il metodo getActivityStartingState() (passaggio 3). Il passaggio 4 viene omesso, poiché lo stato (il colore selezionato) non viene condiviso tra i partecipanti durante l'attività in questo componente aggiuntivo di esempio. I singoli utenti possono però modificare il proprio stato selezionando un colore, che viene inviato dal frame del riquadro laterale al frame della scena principale utilizzando i messaggi frame-to-frame.

Vincoli