AddonSession.Builder

@PublicApi
public interface AddonSession.Builder



AddonSession 的构建器。请参阅newSessionBuilder

摘要

公共方法

abstract ListenableFuture<AddonSession>
begin(Context appContext)

开始插件会话。

abstract AddonSession.Builder
withCoDoing(CoDoingHandler coDoingHandler)

向插件会话添加协作功能。

abstract AddonSession.Builder
withCoWatching(CoWatchingHandler coWatchingHandler)

在附加内容会话中添加“一起看”内容。

abstract AddonSession.Builder
withCollaborationStartingState(
    CollaborationStartingState collaborationStartingState
)

为会话设置 CollaborationStartingState

abstract AddonSession.Builder

注册监听器,以监听其他参与者的元数据更新。

abstract AddonSession.Builder
withParticipantMetadata(
    ParticipantMetadataHandler handler,
    byte[] metadata
)

设置该参与者的元数据,并注册监听器以监听其他参与者的更新。

公共方法

begin

abstract ListenableFuture<AddonSessionbegin(Context appContext)

开始插件会话。只有在用户确认想要参与插件会话后,才应调用此方法。

通过创建会议或连接到正在进行的会议,连接到会议。注意:

  • 会议创建后,当前用户将成为最初的唯一参与者。
  • 如要查看所返回的会话的详细信息,请使用 getMeetingInfo
  • 返回的网址会向用户显示,并手动与其目标插件会话群组共享。
您可以通过 getCoWatchinggetCoDoing 分别访问“一起看”和“一起做”的实例。

不建议在此将来调用 cancel,而是允许其运行完成。

参数
Context appContext

使用 SDK 的应用的 getApplicationContext

返回
ListenableFuture<AddonSession>

一个 ListenableFuture,如果插件会话成功启动,则求值为适当类型的 AddonSession 实例。否则,如果另一个 AddonSession 仍在运行,求值为 IllegalStateException(例如,未调用 endSession);如果出现意外错误,求值为 AddonException

withCoDoing

abstract AddonSession.Builder withCoDoing(CoDoingHandler coDoingHandler)

向插件会话添加协作功能。

参数
CoDoingHandler coDoingHandler

协作回调

返回
AddonSession.Builder

另一个用于链接的构建器实例

抛出
java.lang.NullPointerException

如果 coDoingHandler 为 null

withCoWatching

abstract AddonSession.Builder withCoWatching(CoWatchingHandler coWatchingHandler)

在附加内容会话中添加“一起看”内容。

参数
CoWatchingHandler coWatchingHandler

一起看的回调

返回
AddonSession.Builder

另一个用于链接的构建器实例

抛出
java.lang.NullPointerException

如果 coWatchingHandler 为 null

withCollaborationStartingState

abstract AddonSession.Builder withCollaborationStartingState(
    CollaborationStartingState collaborationStartingState
)

为会话设置 CollaborationStartingState

稍后可通过调用 updateCollaborationStartingStateresetCollaborationStartingState 更改此设置。

参数
CollaborationStartingState collaborationStartingState

CollaborationStartingState 数据

抛出
java.lang.NullPointerException

如果 collaborationStartingState 为 null

withParticipantMetadata

abstract AddonSession.Builder withParticipantMetadata(ParticipantMetadataHandler handler)

注册监听器,以监听其他参与者的元数据更新。

本地参与者的元数据最初会设为一个空值,但稍后可通过调用 updateParticipantMetadata 进行设置。如需设置初始值,请改为调用 withParticipantMetadata

参数
ParticipantMetadataHandler handler

ParticipantMetadataHandler,用于在每次参与者更新时接收最新的一组参与者元数据

抛出
java.lang.NullPointerException

如果 handler 为 null

withParticipantMetadata

abstract AddonSession.Builder withParticipantMetadata(
    ParticipantMetadataHandler handler,
    byte[] metadata
)

设置该参与者的元数据,并注册监听器以监听其他参与者的更新。

稍后可通过调用 updateParticipantMetadata 更改此元数据。

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

参数
ParticipantMetadataHandler handler

ParticipantMetadataHandler,用于在每次参与者更新时接收最新的一组参与者元数据

byte[] metadata

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