AddonSession

@PublicApi
interface AddonSession


外掛程式工作階段。

包含所有外掛程式工作階段通用的方法。如要使用共同觀看和共同活動功能,請分別呼叫 getCoWatchinggetCoDoing

摘要

巢狀類型

AddonSession 的建構工具。

公用函式

ListenableFuture<Void!>!

結束外掛程式工作階段,並中斷 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

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

指出工作階段是否已暫停。請參閱《suspendendSuspension》。

擲回
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 顯示的外部原因所導致。