Implementar a API de co-watching

A API Co-Watching gerencia a experiência de reunião de vários participantes assistindo ou ouvindo conteúdo em seu aplicativo.

Este guia explica como implementar a API Co-Watching.

Primeiros passos

Para usar a API Co-Watching, primeiro você deve Criar um Complemento do Meet. Uma vez você concluir essas etapas, poderá começar a usar a API Co-Watching no 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 de seu projeto do Google Cloud.

Criar um cliente que vai assistir em grupo

Para começar, crie um CoWatchingClient do AddonSession.

Para criar um CoWatchingCient, chame o método createCoWatchingClient() e fornecem uma CoWatchingDelegate objeto.

O CoWatchingDelegate é como a API Co-Watching atualiza seu app sempre que houver um novo estado disponível. É esperado que, quando a onCoWatchingStateChanged() é chamado, seu app aplica 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 uma ação no app, ele chama imediatamente os métodos da API fornecidos.

Chame esses métodos apenas em resposta a eventos significativos. Para por exemplo, você não precisa chamá-los sempre que o app avançar um vídeo. O CoWatchingDelegate que você cria processa a atualização das posições de reprodução nessas circunstâncias.

Use estes métodos para controlar o estado "Assistir em grupo":

  • notifyBuffering(): Chamar quando o app de um usuário iniciar o armazenamento em buffer devido ao armazenamento em buffer de uma mídia anterior comutação, busca de mídia ou congestionamento de rede.

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

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

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

  • notifySeekToTimestamp(): Chame quando um usuário alterar 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.