AddonSessionHandler

@PublicApi
interface AddonSessionHandler


Callbacks fornecidos pelo app do complemento para uma sessão.

Resumo

Tipos aninhados

Descreve o motivo pelo qual o callback onSessionEnded foi acionado.

Descreve um privilégio alocado ou revogado de um participante em uma sessão complementar.

Funções públicas

Unit
onCollaborationStartingStateUpdate(
    collaborationStartingState: CollaborationStartingState!
)

Recebe o estado mais recente do estado inicial da colaboração da sessão do complemento.

Unit

Recebe o estado mais recente dos privilégios que define como o usuário tem permissão para participar de uma sessão complementar.

Unit

Responde ao final da sessão do complemento.

Funções públicas

onCollaborationStartingStateUpdate

fun onCollaborationStartingStateUpdate(
    collaborationStartingState: CollaborationStartingState!
): Unit

Recebe o estado mais recente do estado inicial da colaboração da sessão do complemento.

A implementação concreta é necessária para que o complemento ofereça suporte ao estado inicial da colaboração.

onParticipantPrivilegeChanged

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

Recebe o estado mais recente dos privilégios que define como o usuário tem permissão para participar de uma sessão complementar.

A implementação concreta é necessária para que o complemento ofereça suporte aos controles do host.

onSessionEnded

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

Responde ao final da sessão do complemento.

  1. Esse gerenciador não receberá outras chamadas, a menos que um novo AddonSession seja criado com a mesma instância do gerenciador.
  2. O SDK será limpo automaticamente. Não é necessária nenhuma outra chamada para endSession.

Exemplo de implementação:

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;
}
Parâmetros
endReason: AddonSessionHandler.EndReason!

o motivo pelo qual a sessão terminou