AddonSession

@PublicApi
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.

Funciones públicas

ListenableFuture<Void!>!

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

Unit

Sale del estado de suspensión.

CoDoingClient!

Muestra la instancia CoDoingClient.

CoWatchingClient!

Muestra la instancia CoWatchingClient.

AddonMeetingInfo!

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

Boolean

Muestra true si la sesión finalizó.

Boolean

Indica si la sesión está suspendida.

Unit

Restablece el estado inicial del complemento.

Unit

Suspende la sesión del complemento.

Unit

Actualiza el estado inicial del complemento.

Unit

Actualiza los metadatos de este participante.

Funciones públicas

endSession

fun endSession(): ListenableFuture<Void!>!

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

fun endSuspension(): Unit

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

fun getCoDoing(): CoDoingClient!

Muestra la instancia CoDoingClient.

Arroja
java.lang.IllegalStateException

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

getCoWatching

fun getCoWatching(): CoWatchingClient!

Muestra la instancia CoWatchingClient.

Arroja
java.lang.IllegalStateException

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

getMeetingInfo

fun getMeetingInfo(): AddonMeetingInfo!

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

fun isSessionEnded(): Boolean

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

fun isSuspended(): Boolean

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

fun resetCollaborationStartingState(): Unit

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

fun suspend(): Unit

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

fun updateCollaborationStartingState(
    startingState: CollaborationStartingState!
): Unit

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
startingState: CollaborationStartingState!

el estado inicial del complemento

updateParticipantMetadata

fun updateParticipantMetadata(metadata: ByteArray!): Unit

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
metadata: ByteArray!

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.