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ê deve implantar 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 recebendo 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 fornecem uma CoWatchingDelegate objeto.

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 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 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(): Chame quando o armazenamento em buffer for concluído e a mídia estiver pronta para ser reproduzida.

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

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