AddonClient

@PublicApi
public interface AddonClient



Interface principal para iniciar e interromper uma sessão de complementos.

Observação:somente uma sessão pode estar ativa por vez. Caso contrário, o ListenableFuture retornado por begin vai ser resolvido com um . Uma sessão pode terminar sozinha (por exemplo, o usuário saiu da reunião) e chamar onSessionEnded, ou ela pode ser encerrada chamando endSession.

Exemplo de uso:

class AwesomeAddonSessionHandler implements AddonSessionHandler {}

class AwesomeCoWatchingHandler implements CoWatchingHandler {}

public void registerStatusListener() {
  AddonClient meetClient = AddonClientFactory.getClient();
  meetClient.registerMeetingStatusListener(
      appContext,
      meetingStatus -> {
        switch (meetingStatus.status()) {
          case NO_MEETING:
            // User is not in a meeting currently.
            break;
          case MEETING:
            // User is in a meeting, check if they want to start an add-on session.
            showStartAddonSessionDialog();
            break;
          case ADDON_SESSION:
            // User is in a meeting that already hosts an add-on session, check if they want
            // to join the ongoing session.
            showJoinAddonSessionDialog();
            break;
        }
      },
      Optional.empty());
}

public ListenableFuture<AddonClient> initialSetup() {
  AddonClient meetClient = AddonClientFactory.getClient();
  return meetClient
      .newSessionBuilder(appContext, new AwesomeAddonSessionHandler())
      .withCoWatching(new AwesomeCoWatchingHandler())
      .begin();
}

Resumo

Tipos aninhados

Representa um evento de falha que ocorreu antes, durante ou depois de uma sessão de complemento.

Métodos públicos

abstract AddonSession.Builder

Retorna um builder para uma nova sessão de complemento.

abstract void
notifyAddonFailureEvent(
    Context appContext,
    AddonClient.AddonFailureEventType failureEventType
)

Notifica o Meet sobre um evento de falha em um complemento.

abstract void
registerMeetingStatusListener(
    Context appContext,
    MeetingStatusListener listener,
    Optional<Handler> handler
)

Registra um listener para receber notificações sobre alterações no status de reuniões e sessões complementares.

abstract void

Cancela o registro de um listener ativo para mudanças de MeetingStatus.

Métodos públicos

newSessionBuilder

abstract AddonSession.Builder newSessionBuilder(AddonSessionHandler handler)

Retorna um builder para uma nova sessão de complemento. A sessão só vai começar quando begin for chamado.

Para iniciar uma sessão, primeiro encadeie withCoWatching, withCoDoing ou ambos nesse builder.

Exemplo de uso:

ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(appContext, new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withCoDoing(new AwesomeCoDoingHandler())
    .begin();
Para aproveitar a funcionalidade de metadados dos participantes, chame withParticipantMetadata na cadeia do builder para especificar o estado inicial e registrar um listener para outros participantes. Por exemplo:
ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withParticipantMetadata(new AwesomeMetadataHandler(), myMetadataBytes)
    .begin(appContext);
Consulte begin para mais detalhes sobre como uma sessão é iniciada.
Parâmetros
AddonSessionHandler handler

callbacks que se aplicam a todas as sessões de complementos

Retorna
AddonSession.Builder

um builder para uma nova instância de AddonSession

Gera
java.lang.NullPointerException

quando algum dos argumentos fornecidos é nulo.

notifyAddonFailureEvent

abstract void notifyAddonFailureEvent(
    Context appContext,
    AddonClient.AddonFailureEventType failureEventType
)

Notifica o Meet sobre um evento de falha em um complemento.

Parâmetros
Context appContext

o valor getApplicationContext do aplicativo que está usando o SDK do complemento do Meet

AddonClient.AddonFailureEventType failureEventType

o tipo de evento de falha encontrado antes, durante ou após uma sessão de compartilhamento ao vivo

Gera
java.lang.NullPointerException

quando algum dos argumentos fornecidos é nulo.

registerMeetingStatusListener

abstract void registerMeetingStatusListener(
    Context appContext,
    MeetingStatusListener listener,
    Optional<Handler> handler
)

Registra um listener para receber notificações sobre alterações no status de reuniões e sessões complementares.

O listener registrado será notificado devido a um dos seguintes status:

  • MEETING: há uma reunião ativa no app Meet.
  • ADDON_SESSION: há uma sessão de complemento ativa. Isso só será possível se também houver uma reunião ativa.
  • NO_MEETING: nenhuma reunião ou sessão complementar
Parâmetros
Context appContext

o valor getApplicationContext do aplicativo que está usando o SDK do complemento do Meet

MeetingStatusListener listener

o MeetingStatusListener para receber notificações sobre mudanças de status

Optional<Handler> handler

um Optional de Handler para execução assíncrona. Se um não for fornecido, a lógica resultante poderá ser executada na linha de execução de IU.

Gera
java.lang.IllegalStateException

Se esse método for chamado antes de chamar unregisterMeetingStatusListener para um listener já registrado

unregisterMeetingStatusListener

abstract void unregisterMeetingStatusListener(Context appContext)

Cancela o registro de um listener ativo para mudanças de MeetingStatus.

Parâmetros
Context appContext

o valor getApplicationContext do aplicativo que está usando o SDK do complemento do Meet

Gera
java.lang.IllegalStateException

Se esse método for chamado antes de registerMeetingStatusListener.