Os participantes de uma reunião podem trabalhar em colaboração 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 vai precisar instalar o complemento.
Se o complemento não estiver disponível para a plataforma do participante: ele vai receber uma mensagem informando que não é possível participar da atividade usando o dispositivo atual.
Quando um usuário participa da atividade, ele carrega os próprios iframes com o conteúdo do seu complemento. Você pode personalizar se os novos participantes devem 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
for 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, é possível chamar startActivity()
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 forma:
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 organizador: se um URL do palco principal foi especificado no
ActivityStartingState
, o Meet abre o palco principal usando o URL doActivityStartingState
.
Etapa 3: receber o estado inicial da atividade
Quando um usuário participa da 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
, você
pode chamar 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
Você também pode compartilhar o estado entre usuários enquanto a atividade está em andamento. É possível compartilhar estado de duas maneiras:
- Faça isso por conta própria criando seu próprio back-end de sincronização.
- Use a API Co-Doing, que é uma maneira conveniente e rápida de compartilhar dados arbitrários entre usuários.
Exemplo: complemento de animação no GitHub
O complemento de exemplo"Animação" no GitHub
inclui colaboração em um complemento. A etapa 1 deste guia não está incluída na amostra. 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)
ao preencher o estado inicial com a cor selecionada pelo usuário. Depois que a
atividade é iniciada, o estágio principal recupera o estado inicial
chamando o método getActivityStartingState()
(Etapa 3). A etapa 4 foi omitida porque o estado (a cor selecionada) não é compartilhado entre os participantes durante a atividade neste complemento de exemplo. No entanto, os usuários individuais podem mudar o próprio estado selecionando uma cor, que é enviada do frame do painel lateral para o frame do palco principal usando mensagens frame a frame.
Restrições
- Os URLs especificados no
ActivityStartingState
precisam pertencer à mesma origem das origens especificadas no manifesto do complemento. Para mais informações, consulte Segurança de complementos. - Os comprimentos de caracteres das propriedades
sidePanelUrl
,mainStageUrl
eadditionalData
precisam obedecer aos limites de tamanho respectivos, conforme publicado na documentação de referência do SDK.
Temas relacionados
- Usar o estado inicial da atividade
- Usar um complemento do Meet
- Implementar a API Co-Doing
- Segurança de complementos