AddonClient

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

Funciones públicas

AddonSession.Builder!

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

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

Notifica a Meet sobre un evento de falla del complemento.

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

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

Unit

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

Funciones públicas

newSessionBuilder

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

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

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

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

Notifica a Meet sobre un evento de falla del complemento.

Parámetros
appContext: Context!

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

failureEventType: AddonClient.AddonFailureEventType!

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

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

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

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

listener: MeetingStatusListener!

MeetingStatusListener para recibir notificaciones sobre los cambios de estado

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

fun unregisterMeetingStatusListener(appContext: Context!): Unit

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

Parámetros
appContext: Context!

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.