Implementar a API de co-watching

A API Co-Watching gerencia a experiência de reunião de vários participantes que assistem ou ouvem conteúdo no seu app.

Este guia explica como implementar a API Co-Watching.

Primeiros passos

Para usar a API Co-Watching, primeiro você precisa implantar um complemento do Meet. Depois de concluir essas etapas, você poderá começar a usar a API Co-Watching no seu novo complemento.

Para usar a API Co-Watching, comece acessando um objeto AddonSession, que serve como ponto de entrada para atividades colaborativas do Google Meet:

TypeScript

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

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

Criar um cliente de co-visualização

Para começar, crie um objeto CoWatchingClient com base no AddonSession.

Para criar um CoWatchingCient, chame o método createCoWatchingClient() e forneça um objeto CoWatchingDelegate.

O CoWatchingDelegate é como a API Co-Watching atualiza seu app sempre que um novo estado está disponível. Espera-se que, quando o método onCoWatchingStateChanged() for chamado, o app aplique imediatamente o novo estado.

O exemplo de código abaixo mostra como usar a API Co-Watching:

TypeScript

 const coWatchingClient = await addonSession.createCoWatchingClient({
    activityTitle: "ACTIVITY_TITLE",
    onCoWatchingStateQuery() {
      // This function should return the current state of your CoWatching activity
      return getMyApplicationCoWatchingState();
    },
    onCoWatchingStateChanged(coWatchingState: CoWatchingState) {
      // This function should apply newState to your ongoing CoWatching activity
    },
  });

Substitua ACTIVITY_TITLE pelo título da mídia da sua atividade.

Gerenciar o estado atual

Quando os usuários realizam uma ação no app, ele chama imediatamente os métodos da API fornecidos.

Chame esses métodos apenas em resposta a eventos significativos. Por exemplo, não é necessário chamar esses métodos toda vez que o app avança um vídeo em reprodução. O CoWatchingDelegate que você cria processa a atualização das posições de reprodução nessas circunstâncias.

É possível controlar o estado de co-visualização usando estes métodos:

  • notifyBuffering(): é chamada quando o app de um usuário começa a ser armazenado em buffer devido ao armazenamento em buffer de uma mudança de mídia anterior, busca de mídia ou congestionamento de rede.

  • notifyPauseState(): é chamada quando um usuário pausa ou retoma a reprodução de mídia.

  • notifyPlayoutRate(): é chamada quando um usuário atualiza a velocidade de reprodução para um novo valor (por exemplo, 1,25x).

  • notifyReady(): é chamada quando o buffer é concluído e a mídia está pronta para ser reproduzida.

  • notifySeekToTimestamp(): é chamado quando um usuário muda explicitamente a posição de reprodução.

  • notifySwitchToMedia(): é chamada sempre que a mídia em reprodução ativa muda. Por exemplo, o usuário seleciona um novo vídeo ou a reprodução automática inicia o próximo.