AddonSession

@PublicApi
interface AddonSession


附加会话。

包含所有插件会话通用的方法。如需使用“一起看”和“一起做”功能,请分别调用 getCoWatchinggetCoDoing

摘要

嵌套类型

AddonSession 的构建器。

插件客户端结束插件会话的原因。

公共函数

ListenableFuture<Void!>!

结束插件会话并断开与 Meet 应用的连接。

ListenableFuture<Void!>!

结束插件会话并断开与 Meet 应用的连接,并将原因通知 Meet。

Unit

退出暂停状态。

CoDoingClient!

返回 CoDoingClient 实例。

CoWatchingClient!

返回 CoWatchingClient 实例。

AddonMeetingInfo!

返回已连接的会议的相关信息,例如会议网址。

Boolean

如果会话已结束,则返回 true

Boolean

指示会话是否已暂停。

Unit

重置插件的起始状态。

Unit

暂停插件会话。

Unit

更新插件的起始状态。

Unit

更新此参与者的元数据。

公共函数

endSession

fun endSession(): ListenableFuture<Void!>!

结束插件会话并断开与 Meet 应用的连接。此操作不会强制 Meet 结束会议,也不会导致用户退出会议。

如果会话已结束,则为空操作;不会抛出异常。

返回
ListenableFuture<Void!>!

如果发生意外错误,则为 ListenableFuture,评估为成功,则为 AddonException

endSession

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

结束插件会话并断开与 Meet 应用的连接,并将原因通知 Meet。此操作不会强制 Meet 结束会议,也不会导致用户退出会议。

Meet 可能会根据

如果会话已结束,则为空操作;不会抛出异常。

仅对有权结束会话并说明原因的插件客户端显示。

如果 EndReasonUNKNOWN 或无效,此方法将返回与 endSession 相同的结果。

参数
endReason: AddonSession.EndReason!

插件客户端结束插件会话的原因。

返回
ListenableFuture<Void!>!

一个 ListenableFuture,评估为成功,否则为 AddonException

endSuspension

fun endSuspension(): Unit

退出暂停状态。该插件应用又可以发送和接收更新了。

如果 不处于挂起状态,则为空操作。

抛出
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!

返回已连接的会议的相关信息,例如会议网址。

抛出
java.lang.IllegalStateException

如果会话已结束,则会发生此错误。这可能是对 endSession 的显式调用,也可能是通过 onSessionEnded 显示的外部原因所致。

isSessionEnded

fun isSessionEnded(): Boolean

如果会话已结束,则返回 true。这可能是因为对 endSession 的显式调用,也可能是通过 onSessionEnded 显示的外部原因。

抛出
java.lang.IllegalStateException

如果会话已结束,则会发生此错误。这可能是对 endSession 的显式调用,也可能是通过 onSessionEnded 显示的外部原因导致的

isSuspended

fun isSuspended(): Boolean

指示会话是否已暂停。请参阅《suspend》和《endSuspension》。

抛出
java.lang.IllegalStateException

如果会话已结束,则会发生此错误。这可能是对 endSession 的显式调用,也可能是通过 onSessionEnded 显示的外部原因所致。

resetCollaborationStartingState

fun resetCollaborationStartingState(): Unit

重置插件的起始状态。此操作将清除其他参与者之前收到的开始状态。启动状态只能由启动器重置。

suspend

fun suspend(): Unit

暂停插件会话。这不会断开与 Meet 应用的连接。这会导致 SDK 避免向 CoDoingHandlerCoWatchingHandler 发送更新,并导致 SDK 忽略来电以通知来电和忽略更新全局状态的来电。

如果会话已暂停,则为空操作。

例如,您可以选择在以下情况下调用 suspend:当用户(但并非所有用户)为了观看广告而中断播放时、当用户将应用置于后台时等等。

抛出
java.lang.IllegalStateException

如果会话已结束,则会发生此错误。这可能是对 endSession 的显式调用,也可能是通过 onSessionEnded 显示的外部原因所致。

updateCollaborationStartingState

fun updateCollaborationStartingState(
    startingState: CollaborationStartingState!
): Unit

更新插件的起始状态。其他参与者在接受协作邀请时会收到此信息。只有发起者才能更新起始状态。

参数
startingState: CollaborationStartingState!

插件的初始状态

updateParticipantMetadata

fun updateParticipantMetadata(metadata: ByteArray!): Unit

更新此参与者的元数据。

如需从其他参与者接收元数据,必须在构建 AddonSession 时通过调用 withStudentMetadata 来注册处理程序。

每个参与者在编码后的元数据上限为 MAX_INDIVIDUAL_PARTICIPANT_METADATA_SIZE_BYTES 字节。

参数
metadata: ByteArray!

编码的元数据 blob,用于描述本地参与者的相关元数据

抛出
java.lang.IllegalArgumentException

如果提供的元数据超过 MAX_INDIVIDUAL_PARTICIPANT_METADATA_SIZE_BYTES 字节,则会发生此错误

java.lang.IllegalStateException

如果会话已结束,则会发生此错误。这可能是对 endSession 的显式调用,也可能是通过 onSessionEnded 显示的外部原因所致。