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 implante um complemento do Meet. Depois de concluir essas etapas, você pode começar a usar a API Co-Watching no seu novo complemento.

Para usar a API Assista em grupo, comece criando um objeto AddonSession, que serve como ponto de entrada para as 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 coassistir

Para começar, crie um objeto CoWatchingClient com base no seu 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 a seguir 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 atividade.

Gerenciar o estado atual

Quando os usuários realizam ações no seu aplicativo, espera-se que ele chame imediatamente os métodos da API fornecidos.

Só chame esses métodos em resposta a eventos significativos. Por exemplo, não é necessário chamá-los 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.

Você pode controlar o estado do recurso Assistir em grupo usando estes métodos:

  • notifyBuffering(): chame quando o app de um usuário começar a armazenar em buffer devido a um switch de mídia anterior, busca de mídia ou congestionamento de rede.

  • notifyPauseState(): chame quando um usuário pausar ou retomar a mídia em reprodução.

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

  • notifyReady(): chame quando o buffer for concluído e a mídia estiver pronta para ser reproduzida.

  • notifySeekToTimestamp(): chame quando um usuário mudar explicitamente a posição de reprodução.

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