AddonSession

@PublicApi
public interface AddonSession



外掛程式工作階段。

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

摘要

巢狀類型

AddonSession 的建構工具。

公用方法

abstract ListenableFuture<Void>

結束外掛程式工作階段,並中斷 Meet 應用程式的連線。

abstract void

結束已暫停的狀態。

abstract CoDoingClient

傳回 CoDoingClient 例項。

abstract CoWatchingClient

傳回 CoWatchingClient 例項。

abstract AddonMeetingInfo

傳回已連線會議的相關資訊,例如會議網址。

abstract boolean

如果工作階段已結束,則傳回 true

abstract boolean

指出工作階段是否已暫停。

abstract void

重設外掛程式的起始狀態。

abstract void

將外掛程式工作階段停權。

abstract void

更新外掛程式的起始狀態。

abstract void
updateParticipantMetadata(byte[] metadata)

更新這位參與者的中繼資料。

公用方法

endSession

abstract ListenableFuture<VoidendSession()

結束外掛程式工作階段,並中斷 Meet 應用程式的連線。這項操作不會強制 Meet 結束會議,也不會導致使用者離開會議。

如果工作階段已經結束,這是免人工管理,並不會擲回例外狀況。

傳回
ListenableFuture<Void>

評估成功的 ListenableFuture;如果發生未預期的錯誤,則為 AddonException

endSuspension

abstract void endSuspension()

結束已暫停的狀態。外掛程式應用程式可以再次傳送及接收更新。

如果這未處於停權狀態,此為免人工管理。

擲回
java.lang.IllegalStateException

計算工作階段已結束這可能是對 endSession 的明確呼叫,也可能是經由 onSessionEnded 顯示的外部原因所導致。

getCoDoing

abstract CoDoingClient getCoDoing()

傳回 CoDoingClient 例項。

擲回
java.lang.IllegalStateException

在沒有呼叫 withCoDoing 的情況下建構工作階段,或是工作階段已結束

getCoWatching

abstract CoWatchingClient getCoWatching()

傳回 CoWatchingClient 例項。

擲回
java.lang.IllegalStateException

在沒有呼叫 withCoWatching 的情況下建構工作階段,或是工作階段已結束

getMeetingInfo

abstract AddonMeetingInfo getMeetingInfo()

傳回已連線會議的相關資訊,例如會議網址。

擲回
java.lang.IllegalStateException

計算工作階段已結束這可能是對 endSession 的明確呼叫,也可能是經由 onSessionEnded 顯示的外部原因所導致。

isSessionEnded

abstract boolean isSessionEnded()

如果工作階段已結束,則傳回 true。這可能是由對 endSession 的明確呼叫所造成,也可能是由於透過 onSessionEnded 顯示的外部原因所造成。

擲回
java.lang.IllegalStateException

計算工作階段已結束這可能是對 endSession 的明確呼叫,或是由 onSessionEnded 顯示的外部原因所造成

isSuspended

abstract boolean isSuspended()

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

擲回
java.lang.IllegalStateException

計算工作階段已結束這可能是對 endSession 的明確呼叫,也可能是經由 onSessionEnded 顯示的外部原因所導致。

resetCollaborationStartingState

abstract void resetCollaborationStartingState()

重設外掛程式的起始狀態。這會清除其他參與者先前收到的起始狀態。啟動者只能重設啟動狀態。

suspend

abstract void suspend()

將外掛程式工作階段停權。這樣做「不會」與 Meet 應用程式中斷連線。這會導致 SDK 避免傳送更新至您的 CoDoingHandlerCoWatchingHandler,並導致 SDK 忽略呼叫來通知呼叫,並忽略更新全域狀態的呼叫。

如果工作階段已遭停權,則不需要人工管理。

例如,您可以在某位使用者 (而非所有使用者) 播放中斷觀看廣告時呼叫 suspend,或是在使用者背景執行應用程式時等。

擲回
java.lang.IllegalStateException

計算工作階段已結束這可能是對 endSession 的明確呼叫,也可能是經由 onSessionEnded 顯示的外部原因所導致。

updateCollaborationStartingState

abstract void updateCollaborationStartingState(
    CollaborationStartingState startingState
)

更新外掛程式的起始狀態。其他參與者接受協作邀請後,就會收到這項訊息。啟動狀態只能由發起者更新。

參數
CollaborationStartingState startingState

外掛程式的啟動狀態

updateParticipantMetadata

abstract void updateParticipantMetadata(byte[] metadata)

更新這位參與者的中繼資料。

如要接收其他參與者的中繼資料,您必須在建構 AddonSession 時呼叫 withStudentMetadata,藉此註冊處理常式。

每位參與者的編碼中繼資料上限為 MAX_INDIVIDUAL_PARTICIPANT_METADATA_SIZE_BYTES 位元組。

參數
byte[] metadata

已編碼的中繼資料 blob,用來描述當地參與者的相關中繼資料

擲回
java.lang.IllegalArgumentException

如果提供的中繼資料超過 MAX_INDIVIDUAL_PARTICIPANT_METADATA_SIZE_BYTES 個位元組

java.lang.IllegalStateException

計算工作階段已結束這可能是對 endSession 的明確呼叫,也可能是經由 onSessionEnded 顯示的外部原因所導致。