AddonClient

@PublicApi
public interface AddonClient



Interfaz principal para iniciar y detener una sesión complementaria.

Nota: Solo puede haber una sesión activa a la vez. De lo contrario, la ListenableFuture que muestra begin se resolverá con un Una sesión puede finalizar por sí sola (p.ej., el usuario abandonó la reunión) y llamar a onSessionEnded, o bien finalizarla llamando a endSession.

Ejemplo 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();
}

Resumen

Tipos anidados

Representa un evento de falla que ocurrió antes, durante o después de una sesión de complemento.

Métodos públicos

abstract AddonSession.Builder

Muestra un compilador para una sesión de complemento nueva.

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

Notifica a Meet sobre un evento de falla del complemento.

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

Registra un objeto de escucha para recibir notificaciones sobre los cambios en el estado de las reuniones y las sesiones complementarias.

abstract void

Cancela el registro de un objeto de escucha activo para los cambios de MeetingStatus.

Métodos públicos

newSessionBuilder

abstract AddonSession.Builder newSessionBuilder(AddonSessionHandler handler)

Muestra un compilador para una sesión de complemento nueva. La sesión solo comenzará una vez que se llame a begin.

Para iniciar una sesión, primero encadena withCoWatching, withCoDoing o ambos a este compilador.

Ejemplo de uso:

ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(appContext, new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withCoDoing(new AwesomeCoDoingHandler())
    .begin();
Para aprovechar la funcionalidad de metadatos de los participantes, llama a withParticipantMetadata en la cadena de compiladores para especificar el estado inicial y registrar un objeto de escucha para otros participantes. Por ejemplo:
ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withParticipantMetadata(new AwesomeMetadataHandler(), myMetadataBytes)
    .begin(appContext);
Consulta begin para obtener más detalles sobre cómo se inicia una sesión.
Parámetros
AddonSessionHandler handler

Devoluciones de llamada que se aplican a todas las sesiones de complementos

Devuelve
AddonSession.Builder

un compilador para una instancia AddonSession nueva

Arroja
java.lang.NullPointerException

Si alguno de los argumentos proporcionados es nulo.

notifyAddonFailureEvent

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

Notifica a Meet sobre un evento de falla del complemento.

Parámetros
Context appContext

El valor getApplicationContext de la aplicación que usa el SDK del complemento de Meet

AddonClient.AddonFailureEventType failureEventType

el tipo de evento de falla detectado antes, durante o después de una sesión de compartir en vivo

Arroja
java.lang.NullPointerException

Si alguno de los argumentos proporcionados es nulo.

registerMeetingStatusListener

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

Registra un objeto de escucha para recibir notificaciones sobre los cambios en el estado de las reuniones y las sesiones complementarias.

El objeto de escucha registrado recibirá una notificación debido a uno de los siguientes estados:

  • MEETING: Hay una reunión activa en la app de Meet.
  • ADDON_SESSION: Hay una sesión complementaria activa. Esto solo es posible si también hay una reunión activa.
  • NO_MEETING: No hay reuniones ni sesiones complementarias
Parámetros
Context appContext

El valor getApplicationContext de la aplicación que usa el SDK del complemento de Meet

MeetingStatusListener listener

MeetingStatusListener para recibir notificaciones sobre los cambios de estado

Optional<Handler> handler

un Optional de Handler para la ejecución asíncrona Si no se proporciona uno, la lógica resultante puede ejecutarse en el subproceso de IU.

Arroja
java.lang.IllegalStateException

Si se llama a este método antes de llamar a unregisterMeetingStatusListener para un objeto de escucha ya registrado

unregisterMeetingStatusListener

abstract void unregisterMeetingStatusListener(Context appContext)

Cancela el registro de un objeto de escucha activo para los cambios de MeetingStatus.

Parámetros
Context appContext

El valor getApplicationContext de la aplicación que usa el SDK del complemento de Meet

Arroja
java.lang.IllegalStateException

Si se llama a este método antes de llamar a registerMeetingStatusListener.