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 doActivityStartingState.
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
- Os URLs especificados em
ActivityStartingStateprecisam pertencer à mesma origem que as origens especificadas no manifesto do complemento. Para mais informações, consulte Segurança de complementos. - O tamanho dos caracteres das propriedades
sidePanelUrl,mainStageUrleadditionalDataprecisa estar de acordo com os respectivos limites de tamanho, conforme publicado na documentação de referência do SDK.