AddonClient

@PublicApi
interface AddonClient


Główny interfejs do uruchamiania i zatrzymywania sesji dodatku.

Uwaga: w danym momencie aktywna może być tylko jedna sesja. W przeciwnym razie parametr ListenableFuture zwrócony przez begin zostanie rozwiązany z użyciem Sesja może zakończyć się samoczynnie (np.użytkownik opuścił spotkanie) i wywołać połączenie onSessionEnded. Można też ją zakończyć, wywołując metodę endSession.

Przykładowe zastosowanie:

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

Podsumowanie

Typy zagnieżdżone

Reprezentuje zdarzenie błędu, które wystąpiło przed sesją dodatku, w jej trakcie lub po niej.

Funkcje publiczne

AddonSession.Builder!

Zwraca konstruktora dla nowej sesji dodatku.

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

Powiadamia Meet o błędzie dodatku.

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

Rejestruje słuchacza, aby otrzymywać powiadomienia o zmianach stanu spotkań i sesji dodatkowych.

Unit

Wyrejestrowuje aktywny detektor zmian MeetingStatus.

Funkcje publiczne

newSessionBuilder

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

Zwraca konstruktora dla nowej sesji dodatku. Sesja rozpocznie się dopiero po wywołaniu funkcji begin.

Aby rozpocząć sesję, najpierw dodaj do tego kreatora łańcuch elementów withCoWatching, withCoDoing lub obu naraz.

Przykładowe zastosowanie:

ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(appContext, new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withCoDoing(new AwesomeCoDoingHandler())
    .begin();
Aby skorzystać z funkcji metadanych uczestnika, wywołaj parametr MemberMetadata w łańcuchu kreatora, aby określić stan początkowy i zarejestrować słuchacza dla innych uczestników. Na przykład:
ListenableFuture<AddonSession> session = meetClient
    .newSessionBuilder(new AwesomeAddonSessionHandler())
    .withCoWatching(new AwesomeCoWatchingHandler())
    .withParticipantMetadata(new AwesomeMetadataHandler(), myMetadataBytes)
    .begin(appContext);
Aby dowiedzieć się więcej o rozpoczynaniu sesji, wejdź na begin.
Parametry
handler: AddonSessionHandler!

wywołania zwrotnego dla wszystkich sesji dodatków;

Zwroty
AddonSession.Builder!

monter nowej instancji AddonSession

Rzuty
java.lang.NullPointerException

jeśli dowolny z podanych argumentów ma wartość null

notifyAddonFailureEvent

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

Powiadamia Meet o błędzie dodatku.

Parametry
appContext: Context!

wartość getApplicationContext aplikacji, która korzysta z pakietu SDK dodatku Meet

failureEventType: AddonClient.AddonFailureEventType!

rodzaj błędu, który wystąpił przed sesją udostępniania na żywo, w jej trakcie lub po niej;

Rzuty
java.lang.NullPointerException

jeśli dowolny z podanych argumentów ma wartość null

registerMeetingStatusListener

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

Rejestruje słuchacza, aby otrzymywać powiadomienia o zmianach stanu spotkań i sesji dodatkowych.

Zarejestrowany detektor otrzyma powiadomienie w jednym z tych stanów:

  • MEETING – masz aktywne spotkanie w aplikacji Meet
  • ADDON_SESSION – istnieje aktywna sesja dodatku. Jest to możliwe tylko wtedy, gdy masz też aktywne spotkanie.
  • NO_MEETING – brak spotkania lub sesji dodatkowej
Parametry
appContext: Context!

wartość getApplicationContext aplikacji, która korzysta z pakietu SDK dodatku Meet

listener: MeetingStatusListener!

MeetingStatusListener do otrzymywania powiadomień o zmianach stanu

handler: Optional<Handler!>!

Optional równy Handler dla wykonania asynchronicznego. Jeśli wartość nie zostanie podana, wynikowa logika może zostać uruchomiona w wątku interfejsu.

Rzuty
java.lang.IllegalStateException

Jeśli ta metoda zostanie wywołana przed wywołaniem metody unregisterMeetingStatusListener w przypadku już zarejestrowanego detektora

unregisterMeetingStatusListener

fun unregisterMeetingStatusListener(appContext: Context!): Unit

Wyrejestrowuje aktywny detektor zmian MeetingStatus.

Parametry
appContext: Context!

wartość getApplicationContext aplikacji, która korzysta z pakietu SDK dodatku Meet

Rzuty
java.lang.IllegalStateException

Jeśli ta metoda zostanie wywołana przed wywołaniem funkcji registerMeetingStatusListener.