AddonSessionHandler

@PublicApi
interface AddonSessionHandler


Callback forniti dall'app del componente aggiuntivo per una sessione.

Riepilogo

Tipi nidificati

Descrive il motivo per cui è stato attivato il callback onSessionEnded.

Descrive un privilegio assegnato o revocato a un partecipante a una sessione aggiuntiva.

Funzioni pubbliche

Unit
onCollaborationStartingStateUpdate(
    collaborationStartingState: CollaborationStartingState!
)

Ricevi lo stato iniziale più recente della collaborazione della sessione del componente aggiuntivo.

Unit

Riceve lo stato più recente dei privilegi che definisce il modo in cui l'utente può partecipare a una sessione aggiuntiva.

Unit

Risponde alla fine della sessione del componente aggiuntivo.

Funzioni pubbliche

onCollaborationStartingStateUpdate

fun onCollaborationStartingStateUpdate(
    collaborationStartingState: CollaborationStartingState!
): Unit

Ricevi lo stato iniziale più recente della collaborazione della sessione del componente aggiuntivo.

Per supportare lo stato iniziale della collaborazione, il componente aggiuntivo è necessaria un'implementazione concreta.

onParticipantPrivilegeChanged

fun onParticipantPrivilegeChanged(
    privileges: (Mutable)List<AddonSessionHandler.Privilege!>!,
    disabledPrivileges: (Mutable)List<AddonSessionHandler.Privilege!>!
): Unit

Riceve lo stato più recente dei privilegi che definisce il modo in cui l'utente può partecipare a una sessione aggiuntiva.

Per supportare i controlli dell'host, il componente aggiuntivo è necessaria un'implementazione concreta.

onSessionEnded

fun onSessionEnded(endReason: AddonSessionHandler.EndReason!): Unit

Risponde alla fine della sessione del componente aggiuntivo.

  1. Questo gestore non riceverà chiamate aggiuntive, a meno che non venga creato un nuovo AddonSession con la stessa istanza del gestore.
  2. L'SDK esegue la pulizia da solo. Non è necessaria alcuna chiamata aggiuntiva al numero endSession.

Esempio di implementazione:

if (EndReason.SESSION_ENDED_UNEXPECTEDLY.equals(endReason)) {
  log("Something happened unexpectedly");
  // Display UI to user in case they want to reconnect.
  return;
}

if (EndReason.MEETING_ENDED_BY_USER.equals(endReason)) {
  // The meeting is disconnected because the user left the meeting. Perform some
  // cleanup, then exit.
  this.onMeetingDisconnected();
  return;
}

if (EndReason.SESSION_ENDED_BY_USER.equals(endReason)) {
  // Disconnected because the user left the session from the Meet application. However, the
  // conference is still active in Meet. Perform some cleanup, then listen for a possible
  // rejoin event.
  this.onSessionDisconnected();
  return;
}
Parametri
endReason: AddonSessionHandler.EndReason!

il motivo per cui la sessione è terminata