Gerenciar objetos do cliente

Esta página descreve como gerenciar objetos de cliente que um complemento precisa para se comunicar com o Google Meet.

Primeiro, o complemento precisa estabelecer uma sessão:

  const session = await window.meet.addon.createAddonSession({
      cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
    });

Substitua CLOUD_PROJECT_NUMBER pelo número do projeto do Google Cloud.

Na sessão, dois objetos de cliente podem ser criados:

É importante recuperar o objeto de cliente correto para o palco principal ou o painel lateral. Se o cliente errado for recuperado, o SDK de complementos do Google Meet vai gerar uma exceção. Para verificar em qual iframe (palco principal ou painel lateral) o complemento está sendo executado, use o método getFrameType().

O exemplo de código a seguir mostra como instanciar o objeto de cliente da fase principal:

  const session = await window.meet.addon.createAddonSession({
      cloudProjectNumber: "CLOUD_PROJECT_NUMBER"
    });
  const mainStageClient = await session.createMainStageClient();

Substitua CLOUD_PROJECT_NUMBER pelo número do projeto do Cloud.

Recursos compartilhados

Alguns recursos estão disponíveis no MeetMainStageClient e no objeto MeetSidePanelClient, enquanto outros são específicos para um determinado cliente.

Por exemplo, alguns recursos disponíveis nos dois clientes incluem:

  • O método getActivityStartingState() que recebe informações sobre o estado inicial do complemento quando o participante aceita o convite para participar da atividade.
  • O método getMeetingInfo() que recebe detalhes sobre a reunião em que o complemento está sendo executado.
  • O método setActivityStartingState() que define o estado inicial do complemento quando o participante aceita o convite para participar da atividade.
  • Para conferir uma lista completa de recursos nos dois clientes, consulte o objeto MeetAddonClient.

Recursos específicos do cliente

Recursos disponíveis apenas no objeto MeetMainStageClient:

  • O método notifySidePanel() envia uma mensagem para o painel lateral. A mensagem pode ser recebida se inscreva no callback frameToFrameMessage no painel lateral.

  • O método loadSidePanel() abre o iframe do painel lateral. A origem do iframe é definida como o URL do painel lateral do arquivo de manifesto.

  • O método unloadSidePanel() fecha o iframe do painel lateral. O estado do complemento não é mantido no Meet quando o método é chamado. Cabe ao complemento manter qualquer estado de complemento antes que esse método seja chamado.

Recursos disponíveis apenas no objeto MeetSidePanelClient:

  • O método notifyMainStage() envia uma mensagem para o mainStage. A mensagem pode ser recebida se você assinar a propriedade de callback frameToFrameMessage no ambiente principal.