Colaborar usando um complemento do Meet

Os participantes de uma reunião podem colaborar em uma atividade de complemento do Google Meet. Quando uma atividade colaborativa começa, todos os participantes da reunião recebem uma notificação de que a atividade está em andamento.

Essa notificação é adaptada à disponibilidade e ao status de instalação do complemento:

  • Se o participante tiver o complemento instalado: ele poderá participar da atividade.

  • Se o participante não tiver o complemento instalado: ele será direcionado para instalar o complemento.

  • Se o complemento não estiver disponível para a plataforma do participante: ele será informado de que não pode participar da atividade usando o dispositivo atual.

Quando um usuário entra na atividade, ele carrega os próprios iframes com o conteúdo do seu complemento. Você pode personalizar se os novos participantes vão abrir a atividade colaborativa na tela principal ou no painel lateral.

Iniciar a atividade

Uma atividade é iniciada chamando o método startActivity(), que usa a interface ActivityStartingState.

Etapa 1 (opcional): o complemento define o estado inicial da atividade

O ActivityStartingState contém informações sobre o estado inicial do complemento usado quando o participante aceita o convite para participar da atividade.

O complemento pode definir ou atualizar o ActivityStartingState chamando o método setActivityStartingState() a qualquer momento antes ou durante a atividade. As chamadas para setActivityStartingState() podem ser omitidas se o ActivityStartingState estiver definido exclusivamente na chamada para startActivity().

Etapa 2: o complemento inicia a atividade

A atividade começa quando o complemento chama o método startActivity() no MeetSidePanelClient. O método startActivity() usa um objeto ActivityStartingState como parâmetro. Assim, startActivity() pode ser chamado em vez de setActivityStartingState().

Depois que o usuário concluir a seleção de conteúdo e estiver pronto para iniciar uma atividade, chame o método startActivity() no complemento da seguinte maneira:

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

Quando o método startActivity() é invocado, o Meet realiza as seguintes ações:

  • Para outros participantes: o Meet mostra uma notificação de que a atividade está em andamento.

  • Para o iniciador: se um URL de palco principal foi especificado no ActivityStartingState, o Meet abre o palco principal usando o URL do ActivityStartingState.

Etapa 3: conferir o estado inicial da atividade

Quando um usuário entra na atividade, ele carrega o complemento no palco principal ou no painel lateral, dependendo do ActivityStartingState.

Com a propriedade additionalData, é possível compartilhar dados iniciais (também chamados de estado) com os usuários que participam da atividade. Depois de inicializar um MainStageClient ou SidePanelClient, chame o método getActivityStartingState() para recuperar a propriedade additionalData.

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

Etapa 4 (opcional): compartilhar o estado do complemento em uma atividade

Também é possível compartilhar o estado entre os usuários enquanto a atividade está em andamento criando seu próprio back-end de sincronização.

Exemplo: complemento de animação no GitHub

O exemplo de complemento "Animation" no GitHub inclui colaboração em um complemento. A Etapa 1 deste guia não está incluída no exemplo. Em vez disso, quando o iniciador do complemento clica no botão "Iniciar a animação" no painel lateral, o método startActivity() é chamado (etapa 2) preenchendo o estado inicial com a cor selecionada pelo usuário. Depois que a atividade é iniciada, o palco principal recupera o estado inicial chamando o método getActivityStartingState() (Etapa 3). A etapa 4 é omitida, já que o estado (a cor selecionada) não é compartilhado entre os participantes durante a atividade neste complemento de exemplo. No entanto, cada usuário pode mudar o próprio estado selecionando uma cor, que é enviada do frame do painel lateral para o frame do palco principal usando mensagens de frame para frame.

Restrições