AddonClient

@PublicApi
interface AddonClient


Interfaccia principale per l'avvio e l'interruzione di una sessione di componenti aggiuntivi.

Nota: può essere attiva una sola sessione alla volta, altrimenti il valore ListenableFuture restituito da begin verrà risolto con un . Una sessione può terminare automaticamente (ad esempio se l'utente ha abbandonato la riunione) e chiamare il numero onSessionEnded oppure è possibile che venga terminata chiamando il numero endSession.

Esempio di utilizzo:

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

Riepilogo

Tipi nidificati

Rappresenta un evento di errore che si è verificato prima, durante o dopo una sessione di componenti aggiuntivi.

Funzioni pubbliche

AddonSession.Builder!

Restituisce un generatore per una nuova sessione di componenti aggiuntivi.

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

Invia una notifica a Meet in caso di un evento di errore di un componente aggiuntivo.

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

Registra un ascoltatore per ricevere notifiche sulle modifiche allo stato delle riunioni e delle sessioni aggiuntive.

Unit

Annulla la registrazione di un listener attivo per le modifiche MeetingStatus.

Funzioni pubbliche

newSessionBuilder

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

Restituisce un generatore per una nuova sessione di componenti aggiuntivi. La sessione inizierà solo dopo che sarà stata chiamata a begin.

Per iniziare una sessione, collega prima la catena withCoWatching, withCoDoing o entrambe a questo builder.

Esempio di utilizzo:

ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(appContext, new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withCoDoing(new AwesomeCoDoingHandler())
    .begin();
Per sfruttare la funzionalità dei metadati dei partecipanti, effettua una chiamata con PartecipanteMetadata nella catena dello strumento di creazione per specificare lo stato iniziale e registrare un ascoltatore per gli altri partecipanti. Ad esempio:
ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withParticipantMetadata(new AwesomeMetadataHandler(), myMetadataBytes)
    .begin(appContext);
Consulta begin per maggiori dettagli su come viene avviata una sessione.
Parametri
handler: AddonSessionHandler!

Callback che si applicano a tutte le sessioni dei componenti aggiuntivi

Ritorni
AddonSession.Builder!

un builder per una nuova istanza AddonSession

Lanci
java.lang.NullPointerException

se uno degli argomenti forniti è nullo

notifyAddonFailureEvent

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

Invia una notifica a Meet in caso di un evento di errore di un componente aggiuntivo.

Parametri
appContext: Context!

Il valore getApplicationContext dell'applicazione che utilizza l'SDK del componente aggiuntivo Meet

failureEventType: AddonClient.AddonFailureEventType!

Il tipo di evento di errore riscontrato prima, durante o dopo una sessione di condivisione in tempo reale

Lanci
java.lang.NullPointerException

se uno degli argomenti forniti è nullo

registerMeetingStatusListener

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

Registra un ascoltatore per ricevere notifiche sulle modifiche allo stato delle riunioni e delle sessioni aggiuntive.

Il listener registrato riceverà una notifica a causa di uno dei seguenti stati:

  • MEETING - È in corso una riunione nell'app Meet
  • ADDON_SESSION: è presente una sessione di componenti aggiuntivi attiva. Questo è possibile solo se è presente anche una riunione attiva.
  • NO_MEETING - Nessuna riunione o sessione aggiuntiva
Parametri
appContext: Context!

Il valore getApplicationContext dell'applicazione che utilizza l'SDK del componente aggiuntivo Meet

listener: MeetingStatusListener!

MeetingStatusListener a ricevere una notifica in caso di modifiche allo stato

handler: Optional<Handler!>!

un Optional di Handler per l'esecuzione asincrona. Se non ne viene specificato uno, la logica risultante potrebbe essere eseguita nel thread dell'interfaccia utente.

Lanci
java.lang.IllegalStateException

Se questo metodo viene chiamato prima di chiamare unregisterMeetingStatusListener per un listener già registrato

unregisterMeetingStatusListener

fun unregisterMeetingStatusListener(appContext: Context!): Unit

Annulla la registrazione di un listener attivo per le modifiche MeetingStatus.

Parametri
appContext: Context!

Il valore getApplicationContext dell'applicazione che utilizza l'SDK del componente aggiuntivo Meet

Lanci
java.lang.IllegalStateException

Se questo metodo viene chiamato prima di chiamare registerMeetingStatusListener.