AddonSession

@PublicApi
public interface AddonSession



Una sesión complementaria

Contiene métodos comunes a todas las sesiones de complementos. Para acceder a la visualización en compañía y la acción en conjunto, llama a getCoWatching y getCoDoing respectivamente.

Resumen

Tipos anidados

Un compilador para AddonSession.

Métodos públicos

abstract ListenableFuture<Void>

Finaliza la sesión del complemento y se desconecta de la app de Meet.

abstract void

Sale del estado de suspensión.

abstract CoDoingClient

Muestra la instancia CoDoingClient.

abstract CoWatchingClient

Muestra la instancia CoWatchingClient.

abstract AddonMeetingInfo

Muestra información sobre la reunión conectada, como su URL.

abstract boolean

Muestra true si la sesión finalizó.

abstract boolean

Indica si la sesión está suspendida.

abstract void

Restablece el estado inicial del complemento.

abstract void

Suspende la sesión del complemento.

abstract void

Actualiza el estado inicial del complemento.

abstract void
updateParticipantMetadata(byte[] metadata)

Actualiza los metadatos de este participante.

Métodos públicos

endSession

abstract ListenableFuture<VoidendSession()

Finaliza la sesión del complemento y se desconecta de la app de Meet. Esto no obliga a Meet a finalizar la reunión ni hace que el usuario abandone la reunión.

Si la sesión ya finalizó, se trata de una no-op, por lo que no se arrojará una excepción.

Devuelve
ListenableFuture<Void>

un ListenableFuture que se evalúa como correcto o un AddonException si hubo un error inesperado

endSuspension

abstract void endSuspension()

Sale del estado de suspensión. La app complementaria puede volver a enviar y recibir actualizaciones.

Si no está en estado de suspensión, se trata de una no-op.

Arroja
java.lang.IllegalStateException

si la sesión finalizó. Puede ser una llamada explícita a endSession o podría deberse a un motivo externo que aparecería a través de onSessionEnded.

getCoDoing

abstract CoDoingClient getCoDoing()

Muestra la instancia CoDoingClient.

Arroja
java.lang.IllegalStateException

Si la sesión se compiló sin llamar a withCoDoing o si finalizó

getCoWatching

abstract CoWatchingClient getCoWatching()

Muestra la instancia CoWatchingClient.

Arroja
java.lang.IllegalStateException

Si la sesión se compiló sin llamar a withCoWatching o si finalizó

getMeetingInfo

abstract AddonMeetingInfo getMeetingInfo()

Muestra información sobre la reunión conectada, como su URL.

Arroja
java.lang.IllegalStateException

si la sesión finalizó. Puede ser una llamada explícita a endSession o podría deberse a un motivo externo que aparecería a través de onSessionEnded.

isSessionEnded

abstract boolean isSessionEnded()

Muestra true si la sesión finalizó. Puede deberse a una llamada explícita a endSession o a un motivo externo que se mostrará a través de onSessionEnded.

Arroja
java.lang.IllegalStateException

si la sesión finalizó. Puede ser una llamada explícita a endSession o podría deberse a un motivo externo que se mostrará a través de onSessionEnded.

isSuspended

abstract boolean isSuspended()

Indica si la sesión está suspendida. Consulta suspend y endSuspension.

Arroja
java.lang.IllegalStateException

si la sesión finalizó. Puede ser una llamada explícita a endSession o podría deberse a un motivo externo que aparecería a través de onSessionEnded.

resetCollaborationStartingState

abstract void resetCollaborationStartingState()

Restablece el estado inicial del complemento. De esta forma, se borrará el estado inicial que recibieron otros participantes anteriormente. Solo el iniciador puede restablecer el estado inicial.

suspend

abstract void suspend()

Suspende la sesión del complemento. Esta acción NO se desconecta de la app de Meet, por lo que el SDK evita enviar actualizaciones a CoDoingHandler y CoWatchingHandler, y que el SDK ignore las llamadas para notificar llamadas y también ignore las llamadas para actualizar el estado global.

Si la sesión ya está suspendida, esta no es una operación.

Por ejemplo, puedes elegir llamar a suspend cuando un usuario, pero no todos, tiene interrumpida la reproducción para ver un anuncio, cuando un usuario deja la aplicación en segundo plano, etcétera.

Arroja
java.lang.IllegalStateException

si la sesión finalizó. Puede ser una llamada explícita a endSession o podría deberse a un motivo externo que aparecería a través de onSessionEnded.

updateCollaborationStartingState

abstract void updateCollaborationStartingState(
    CollaborationStartingState startingState
)

Actualiza el estado inicial del complemento. Los demás participantes lo recibirán cuando acepten la invitación para colaborar. Solo el iniciador puede actualizar el estado inicial.

Parámetros
CollaborationStartingState startingState

el estado inicial del complemento

updateParticipantMetadata

abstract void updateParticipantMetadata(byte[] metadata)

Actualiza los metadatos de este participante.

Para recibir metadatos de otros participantes, se debe registrar un controlador llamando a withParticipantMetadata mientras se compila el AddonSession.

Los metadatos codificados tienen un límite de MAX_INDIVIDUAL_PARTICIPANT_METADATA_SIZE_BYTES bytes por participante.

Parámetros
byte[] metadata

un BLOB codificado de metadatos que describe los metadatos relevantes para el participante local

Arroja
java.lang.IllegalArgumentException

si los metadatos proporcionados superan los MAX_INDIVIDUAL_PARTICIPANT_METADATA_SIZE_BYTES bytes

java.lang.IllegalStateException

si la sesión finalizó. Puede ser una llamada explícita a endSession o podría deberse a un motivo externo que aparecería a través de onSessionEnded.