AddonSession

@PublicApi
interface AddonSession


Uma sessão complementar.

Contém métodos comuns a todas as sessões complementares. Para acessar os recursos "Assistir em grupo" e "Cofazer", chame getCoWatching e getCoDoing, respectivamente.

Resumo

Tipos aninhados

Um builder para a classe AddonSession.

Motivos para o cliente do complemento encerrar a sessão do complemento.

Funções públicas

ListenableFuture<Void!>!

Encerra a sessão do complemento e desconecta o app Meet.

ListenableFuture<Void!>!

Encerra a sessão do complemento, desconecta o app Meet e informa o motivo.

Unit

Sai do estado suspenso.

CoDoingClient!

Retorna a instância CoDoingClient.

CoWatchingClient!

Retorna a instância CoWatchingClient.

AddonMeetingInfo!

Retorna informações sobre a reunião conectada, como o URL.

Boolean

Retornará true se a sessão tiver terminado.

Boolean

Indica se a sessão está suspensa.

Unit

Redefine o estado inicial do complemento.

Unit

Suspende a sessão do complemento.

Unit

Atualiza o estado inicial do complemento.

Unit

Atualiza os metadados deste participante.

Funções públicas

endSession

fun endSession(): ListenableFuture<Void!>!

Encerra a sessão do complemento e desconecta o app Meet. Isso não força o Meet a encerrar a reunião nem faz com que o usuário saia.

Se a sessão já terminou, isso é um ambiente autônomo, ou seja, não gera uma exceção.

Retorna
ListenableFuture<Void!>!

Uma ListenableFuture que avalia sucesso ou uma AddonException em caso de erro inesperado

endSession

fun endSession(endReason: AddonSession.EndReason!): ListenableFuture<Void!>!

Encerra a sessão do complemento, desconecta o app Meet e informa o motivo. Isso não força o Meet a encerrar a reunião nem faz com que o usuário saia.

O Meet pode realizar as ações correspondentes acordadas com o cliente do complemento com base no

Se a sessão já terminou, isso é um ambiente autônomo, ou seja, não gera uma exceção.

Essa informação é visível apenas para os clientes de complementos autorizados a encerrar a sessão com um motivo.

Esse método retornaria o mesmo resultado de endSession se a EndReason for UNKNOWN ou não for válida.

Parâmetros
endReason: AddonSession.EndReason!

a razão para o cliente do complemento encerrar a sessão do complemento.

Retorna
ListenableFuture<Void!>!

uma ListenableFuture que avalia como sucesso ou uma AddonException se

endSuspension

fun endSuspension(): Unit

Sai do estado suspenso. O aplicativo de complemento pode enviar e receber atualizações novamente.

Se não estiver em estado suspenso, trata-se de um ambiente autônomo.

Gera
java.lang.IllegalStateException

se a sessão foi encerrada. Essa pode ser uma chamada explícita para endSession ou um motivo externo que seria mostrado por onSessionEnded.

getCoDoing

fun getCoDoing(): CoDoingClient!

Retorna a instância CoDoingClient.

Gera
java.lang.IllegalStateException

se a sessão foi criada sem chamar withCoDoing ou se a sessão foi encerrada

getCoWatching

fun getCoWatching(): CoWatchingClient!

Retorna a instância CoWatchingClient.

Gera
java.lang.IllegalStateException

se a sessão foi criada sem chamar withCoWatching ou se a sessão foi encerrada

getMeetingInfo

fun getMeetingInfo(): AddonMeetingInfo!

Retorna informações sobre a reunião conectada, como o URL.

Gera
java.lang.IllegalStateException

se a sessão foi encerrada. Essa pode ser uma chamada explícita para endSession ou um motivo externo que seria mostrado por onSessionEnded.

isSessionEnded

fun isSessionEnded(): Boolean

Retornará true se a sessão tiver terminado. Isso pode ser devido a uma chamada explícita para endSession ou por um motivo externo que seria mostrado pelo onSessionEnded.

Gera
java.lang.IllegalStateException

se a sessão foi encerrada. Essa pode ser uma chamada explícita para endSession ou um motivo externo que apareceria pelo onSessionEnded.

isSuspended

fun isSuspended(): Boolean

Indica se a sessão está suspensa. Consulte suspend e endSuspension.

Gera
java.lang.IllegalStateException

se a sessão foi encerrada. Essa pode ser uma chamada explícita para endSession ou um motivo externo que seria mostrado por onSessionEnded.

resetCollaborationStartingState

fun resetCollaborationStartingState(): Unit

Redefine o estado inicial do complemento. Isso vai limpar o estado inicial recebido anteriormente por outros participantes. O estado inicial só pode ser redefinido pelo iniciador.

suspend

fun suspend(): Unit

Suspende a sessão do complemento. Isso NÃO é desconectado do app Meet. Isso faz com que o SDK evite o envio de atualizações para o CoDoingHandler e o CoWatchingHandler, e o SDK ignore chamadas para notificar e ignorar chamadas para atualizar o estado global.

Se a sessão já estiver suspensa, será um ambiente autônomo.

Por exemplo, você pode optar por chamar suspend quando um usuário, mas não todos, tiver a reprodução interrompida para ver um anúncio, quando um usuário colocar o aplicativo em segundo plano etc.

Gera
java.lang.IllegalStateException

se a sessão foi encerrada. Essa pode ser uma chamada explícita para endSession ou um motivo externo que seria mostrado por onSessionEnded.

updateCollaborationStartingState

fun updateCollaborationStartingState(
    startingState: CollaborationStartingState!
): Unit

Atualiza o estado inicial do complemento. Ele é recebido por outros participantes quando eles aceitam o convite para colaborar. O estado inicial só pode ser atualizado pelo iniciador.

Parâmetros
startingState: CollaborationStartingState!

o estado inicial do complemento

updateParticipantMetadata

fun updateParticipantMetadata(metadata: ByteArray!): Unit

Atualiza os metadados deste participante.

Para receber metadados de outros participantes, um gerenciador precisa ser registrado chamando withParticipantMetadata ao criar o AddonSession.

Os metadados codificados são limitados a MAX_INDIVIDUAL_PARTICIPANT_METADATA_SIZE_BYTES bytes por participante.

Parâmetros
metadata: ByteArray!

um blob codificado de metadados que descreve metadados relevantes para o participante local

Gera
java.lang.IllegalArgumentException

se os metadados fornecidos excederem MAX_INDIVIDUAL_PARTICIPANT_METADATA_SIZE_BYTES bytes

java.lang.IllegalStateException

se a sessão foi encerrada. Essa pode ser uma chamada explícita para endSession ou um motivo externo que seria mostrado por onSessionEnded.