AddonSession

@PublicApi
interface AddonSession


부가기능 세션

모든 부가기능 세션에 공통된 메서드가 포함되어 있습니다. 공동 시청 및 공동 시청에 액세스하려면 각각 getCoWatchinggetCoDoing를 호출합니다.

요약

중첩된 유형

AddonSession의 빌더입니다.

공개 함수

ListenableFuture<Void!>!

부가기능 세션을 종료하고 Meet 앱과의 연결을 해제합니다.

Unit

정지 상태를 종료합니다.

CoDoingClient!

CoDoingClient 인스턴스를 반환합니다.

CoWatchingClient!

CoWatchingClient 인스턴스를 반환합니다.

AddonMeetingInfo!

연결된 회의에 대한 정보(예: 회의 URL)를 반환합니다.

Boolean

세션이 종료되면 true를 반환합니다.

Boolean

세션의 정지 여부를 나타냅니다.

Unit

부가기능의 시작 상태를 재설정합니다.

Unit

부가기능 세션을 정지합니다.

Unit

부가기능의 시작 상태를 업데이트합니다.

Unit

이 참가자의 메타데이터를 업데이트합니다.

공개 함수

endSession

fun endSession(): ListenableFuture<Void!>!

부가기능 세션을 종료하고 Meet 앱과의 연결을 해제합니다. 연결을 해제해도 Meet에서 강제로 회의가 종료되거나 사용자가 회의에서 나가지는 않습니다.

세션이 이미 종료된 경우 노옵스(no-ops)이며 예외가 발생하지 않습니다.

반환 값
ListenableFuture<Void!>!

성공으로 평가되는 ListenableFuture 또는 예상치 못한 오류가 발생한 경우 AddonException

endSuspension

fun endSuspension(): Unit

정지 상태를 종료합니다. 부가기능 앱에서 다시 업데이트를 보내고 받을 수 있습니다.

정지 상태가 아니면 노옵스(no-ops)입니다.

생성 값
java.lang.IllegalStateException

세션이 종료된 경우 이는 명시적 endSession 호출이거나 onSessionEnded를 통해 표시되는 외부 이유 때문일 수 있습니다.

getCoDoing

fun getCoDoing(): CoDoingClient!

CoDoingClient 인스턴스를 반환합니다.

생성 값
java.lang.IllegalStateException

세션이 withCoDoing를 호출하지 않고 빌드되었거나 세션이 종료된 경우

getCoWatching

fun getCoWatching(): CoWatchingClient!

CoWatchingClient 인스턴스를 반환합니다.

생성 값
java.lang.IllegalStateException

세션이 withCoWatching를 호출하지 않고 빌드되었거나 세션이 종료된 경우

getMeetingInfo

fun getMeetingInfo(): AddonMeetingInfo!

연결된 회의에 대한 정보(예: 회의 URL)를 반환합니다.

생성 값
java.lang.IllegalStateException

세션이 종료된 경우 이는 명시적 endSession 호출이거나 onSessionEnded를 통해 표시되는 외부 이유 때문일 수 있습니다.

isSessionEnded

fun isSessionEnded(): Boolean

세션이 종료되면 true를 반환합니다. 이는 endSession의 명시적인 호출에서 비롯되거나 onSessionEnded를 통해 표시되는 외부 이유 때문일 수 있습니다.

생성 값
java.lang.IllegalStateException

세션이 종료된 경우 명시적 endSession 호출이거나 onSessionEnded를 통해 표시되는 외부 사유 때문일 수 있습니다.

isSuspended

fun isSuspended(): Boolean

세션의 정지 여부를 나타냅니다. suspendendSuspension을 참고하세요.

생성 값
java.lang.IllegalStateException

세션이 종료된 경우 이는 명시적 endSession 호출이거나 onSessionEnded를 통해 표시되는 외부 이유 때문일 수 있습니다.

resetCollaborationStartingState

fun resetCollaborationStartingState(): Unit

부가기능의 시작 상태를 재설정합니다. 이렇게 하면 다른 참여자가 이전에 수신한 시작 상태가 삭제됩니다. 시작 상태는 개시자만 재설정할 수 있습니다.

suspend

fun suspend(): Unit

부가기능 세션을 정지합니다. 이렇게 해도 Meet 앱에서 연결이 해제되지는 않습니다. 이렇게 하면 SDK가 CoDoingHandlerCoWatchingHandler에 업데이트를 전송하지 않으며, SDK가 통화를 알리는 호출을 무시하고 전역 상태를 업데이트하기 위한 통화를 무시합니다.

세션이 이미 정지된 경우 이는 노옵스(no-ops)입니다.

예를 들어 모든 사용자가 아닌 사용자가 광고를 보기 위해 재생이 중단되었거나 사용자가 애플리케이션을 백그라운드로 실행할 때 suspend를 호출하도록 선택할 수 있습니다.

생성 값
java.lang.IllegalStateException

세션이 종료된 경우 이는 명시적 endSession 호출이거나 onSessionEnded를 통해 표시되는 외부 이유 때문일 수 있습니다.

updateCollaborationStartingState

fun updateCollaborationStartingState(
    startingState: CollaborationStartingState!
): Unit

부가기능의 시작 상태를 업데이트합니다. 공동작업 초대를 수락한 다른 참여자도 이 메시지를 받게 됩니다. 시작 상태는 개시자만 업데이트할 수 있습니다.

매개변수
startingState: CollaborationStartingState!

부가기능의 시작 상태

updateParticipantMetadata

fun updateParticipantMetadata(metadata: ByteArray!): Unit

이 참가자의 메타데이터를 업데이트합니다.

다른 참여자로부터 메타데이터를 수신하려면 AddonSession를 빌드하는 동안 withPARTICIPANTMetadata를 호출하여 핸들러를 등록해야 합니다.

인코딩된 메타데이터는 참여자당 MAX_INDIVIDUAL_PARTICIPANT_METADATA_SIZE_BYTES바이트로 제한됩니다.

매개변수
metadata: ByteArray!

로컬 참가자의 관련 메타데이터를 설명하는 메타데이터의 인코딩된 blob

생성 값
java.lang.IllegalArgumentException

제공된 메타데이터가 MAX_INDIVIDUAL_PARTICIPANT_METADATA_SIZE_BYTES바이트를 초과하는 경우

java.lang.IllegalStateException

세션이 종료된 경우 이는 명시적 endSession 호출이거나 onSessionEnded를 통해 표시되는 외부 이유 때문일 수 있습니다.