AddonSessionHandler

@PublicApi
public interface AddonSessionHandler



세션과 관련해 부가기능 앱에서 제공한 콜백입니다.

요약

중첩된 유형

onSessionEnded 콜백이 트리거된 이유를 설명합니다.

부가기능 세션 참여자에게 할당되거나 취소된 권한을 설명합니다.

공개 메서드

default void

부가기능 세션의 최신 공동작업 시작 상태를 수신합니다.

default void

사용자가 부가기능 세션에 참여할 수 있는 방법을 정의하는 최신 권한 상태를 받습니다.

abstract void

부가기능 세션이 종료될 때 응답합니다.

공개 메서드

onCollaborationStartingStateUpdate

default void onCollaborationStartingStateUpdate(
    CollaborationStartingState collaborationStartingState
)

부가기능 세션의 최신 공동작업 시작 상태를 수신합니다.

부가기능이 공동작업 시작 상태를 지원하려면 구체적으로 구현해야 합니다.

onParticipantPrivilegeChanged

default void onParticipantPrivilegeChanged(
    List<AddonSessionHandler.Privilege> privileges,
    List<AddonSessionHandler.Privilege> disabledPrivileges
)

사용자가 부가기능 세션에 참여할 수 있는 방법을 정의하는 최신 권한 상태를 받습니다.

부가기능이 호스트 제어를 지원하려면 구체적인 구현이 필요합니다.

onSessionEnded

abstract void onSessionEnded(AddonSessionHandler.EndReason endReason)

부가기능 세션이 종료될 때 응답합니다.

  1. 동일한 핸들러 인스턴스로 새 AddonSession가 구성되지 않는 한 이 핸들러는 추가 호출을 수신하지 않습니다.
  2. SDK가 자체적으로 정리됩니다. endSession를 추가로 호출할 필요는 없습니다.

구현의 예:

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;
}
매개변수
AddonSessionHandler.EndReason endReason

세션이 종료된 이유