AddonClient

@PublicApi
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.

Funções públicas

AddonSession.Builder!

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

Unit
notifyAddonFailureEvent(
    appContext: Context!,
    failureEventType: AddonClient.AddonFailureEventType!
)

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

Unit
registerMeetingStatusListener(
    appContext: Context!,
    listener: MeetingStatusListener!,
    handler: Optional<Handler!>!
)

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

Unit

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

Funções públicas

newSessionBuilder

fun newSessionBuilder(handler: AddonSessionHandler!): AddonSession.Builder!

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
handler: AddonSessionHandler!

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

fun notifyAddonFailureEvent(
    appContext: Context!,
    failureEventType: AddonClient.AddonFailureEventType!
): Unit

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

Parâmetros
appContext: Context!

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

failureEventType: AddonClient.AddonFailureEventType!

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

fun registerMeetingStatusListener(
    appContext: Context!,
    listener: MeetingStatusListener!,
    handler: Optional<Handler!>!
): Unit

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
appContext: Context!

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

listener: MeetingStatusListener!

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

handler: Optional<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

fun unregisterMeetingStatusListener(appContext: Context!): Unit

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

Parâmetros
appContext: Context!

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.