Os participantes de uma reunião podem trabalhar em conjunto em uma atividade de complemento do Google Meet. Quando uma atividade colaborativa começa, todos os participantes da reunião recebem uma notificação informando 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 pode participar da atividade.
Se o participante não tiver o complemento instalado: ele vai receber instruções para instalar o complemento.
Se o complemento não estiver disponível para a plataforma do participante: o participante vai receber a informação de que não é possível participar da atividade com o dispositivo atual.
Quando um usuário participa da atividade, ele carrega os próprios iframes com seu conteúdo complementar. É possível personalizar se os novos participantes vão abrir a atividade colaborativa no palco 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 de início 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, startActivity()
pode ser chamado em vez de
setActivityStartingState()
.
Quando o usuário concluir a seleção de conteúdo e estiver pronto para iniciar uma atividade,
chame o método startActivity()
no seu 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 doActivityStartingState
.
Etapa 3: receber o estado inicial da atividade
Quando um usuário participa da atividade, ele carrega seu complemento
no palco principal ou no painel lateral, dependendo do ActivityStartingState
.
Com a propriedade additionalData
, você pode 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 extrair 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 o estado de duas maneiras:
- Gerencie-o 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"Animation" 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 "Start the Animation"
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, a etapa principal recupera o estado inicial
chamando o método getActivityStartingState()
(Etapa 3). A Etapa 4 é 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 que as origens especificadas no manifesto do complemento. Para mais informações, consulte Segurança do complemento. - Os comprimentos de caracteres da propriedade
sidePanelUrl
,mainStageUrl
eadditionalData
precisam estar em conformidade com os respectivos limites de tamanho, 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 do complemento