AddonClient

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

Metodi pubblici

abstract AddonSession.Builder

Restituisce un generatore per una nuova sessione di componenti aggiuntivi.

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

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

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

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

abstract void

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

Metodi pubblici

newSessionBuilder

abstract AddonSession.Builder newSessionBuilder(AddonSessionHandler handler)

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

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

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

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

Parametri
Context appContext

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

AddonClient.AddonFailureEventType failureEventType

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

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

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

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

MeetingStatusListener listener

MeetingStatusListener a ricevere una notifica in caso di modifiche allo stato

Optional<Handler> 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

abstract void unregisterMeetingStatusListener(Context appContext)

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

Parametri
Context appContext

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.