AddonSession

@PublicApi
interface AddonSession


یک جلسه الحاقی

شامل روش های مشترک برای تمام جلسات افزودنی است. برای دسترسی به تماشای مشترک و انجام مشترک، به ترتیب با getCoWatching و getCoDoing تماس بگیرید.

خلاصه

انواع تو در تو

سازنده برای AddonSession .

توابع عمومی

ListenableFuture < Void !>!

جلسه افزونه را پایان می‌دهد و از برنامه Meet قطع می‌شود.

Unit

از حالت تعلیق خارج می شود.

CoDoingClient !

نمونه CoDoingClient برمی گرداند.

CoWatchingClient !

نمونه CoWatchingClient را برمی گرداند.

AddonMeetingInfo !

اطلاعات مربوط به جلسه متصل، مانند URL جلسه را برمی گرداند.

Boolean

اگر جلسه به پایان رسیده باشد، true برمی گرداند.

Boolean

نشان می دهد که آیا جلسه به حالت تعلیق درآمده است یا خیر.

Unit

وضعیت شروع افزونه را بازنشانی می کند.

Unit

جلسه افزودنی را به حالت تعلیق در می آورد.

Unit

وضعیت شروع افزونه را به روز می کند.

Unit

فراداده را برای این شرکت کننده به روز می کند.

توابع عمومی

پایان جلسه

fun endSession(): ListenableFuture<Void!>!

جلسه افزونه را پایان می‌دهد و از برنامه Meet قطع می‌شود. این نه Meet را مجبور به پایان جلسه می کند و نه باعث می شود کاربر جلسه را ترک کند.

اگر جلسه قبلاً به پایان رسیده باشد، این یک غیرفعال است. آن استثنا نخواهد کرد.

برمی گرداند
ListenableFuture < Void !>!

یک ListenableFuture که موفقیت را ارزیابی می کند یا در صورت وجود خطای غیرمنتظره، یک AddonException

پایان تعلیق

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!

اطلاعات مربوط به جلسه متصل، مانند URL جلسه را برمی گرداند.

پرتاب می کند
java.lang.IllegalStateException

اگر جلسه تمام شده باشد این ممکن است یک فراخوان صریح به endSession باشد یا ممکن است به دلیل یک دلیل خارجی باشد که از طریق onSessionEnded ظاهر می شود.

isSessionEnded

fun isSessionEnded(): Boolean

اگر جلسه به پایان رسیده باشد، true برمی گرداند. این ممکن است از یک تماس صریح به endSession باشد یا ممکن است به دلیل یک دلیل خارجی باشد که از طریق onSessionEnded ظاهر می شود.

پرتاب می کند
java.lang.IllegalStateException

اگر جلسه تمام شده باشد این ممکن است یک فراخوان صریح به endSession باشد یا ممکن است به دلیل یک دلیل خارجی باشد که از طریق onSessionEnded ظاهر می شود.

تعلیق شده است

fun isSuspended(): Boolean

نشان می دهد که آیا جلسه به حالت تعلیق درآمده است یا خیر. به suspend و endSuspension مراجعه کنید.

پرتاب می کند
java.lang.IllegalStateException

اگر جلسه تمام شده باشد این ممکن است یک فراخوان صریح به endSession باشد یا ممکن است به دلیل یک دلیل خارجی باشد که از طریق onSessionEnded ظاهر می شود.

بازنشانی CollaborationStartingState

fun resetCollaborationStartingState(): Unit

وضعیت شروع افزونه را بازنشانی می کند. با این کار حالت شروعی که قبلاً توسط سایر شرکت‌کنندگان دریافت شده بود پاک می‌شود. حالت شروع فقط توسط آغازگر قابل تنظیم مجدد است.

تعلیق کند

fun suspend(): Unit

جلسه افزودنی را به حالت تعلیق در می آورد. این ارتباط با برنامه Meet قطع نمی شود. این باعث می‌شود SDK از ارسال به‌روزرسانی‌ها به CoDoingHandler و CoWatchingHandler خودداری کند و باعث می‌شود SDK تماس‌ها را برای اطلاع از تماس‌ها نادیده بگیرد و تماس‌ها را برای به‌روزرسانی وضعیت جهانی نادیده بگیرد.

اگر جلسه قبلاً به حالت تعلیق درآمده است، این یک غیرفعال است.

به عنوان مثال، ممکن است زمانی که یک کاربر، اما نه هر کاربر، برای مشاهده یک تبلیغ، زمانی که کاربر پس‌زمینه برنامه را پس‌زمینه می‌کند و غیره، پخش قطع می‌شود، suspend را انتخاب کنید.

پرتاب می کند
java.lang.IllegalStateException

اگر جلسه تمام شده باشد این ممکن است یک فراخوان صریح به endSession باشد یا ممکن است به دلیل یک دلیل خارجی باشد که از طریق onSessionEnded ظاهر می شود.

به روز رسانی CollaborationStartingState

fun updateCollaborationStartingState(
    startingState: CollaborationStartingState!
): Unit

وضعیت شروع افزونه را به روز می کند. هنگامی که سایر شرکت کنندگان دعوت به همکاری را می پذیرند، این مورد را دریافت می کنند. حالت شروع فقط توسط آغازگر می تواند به روز شود.

مولفه های
startingState: CollaborationStartingState !

وضعیت شروع افزونه

به روز رسانیParticipantMtadata

fun updateParticipantMetadata(metadata: ByteArray!): Unit

فراداده را برای این شرکت کننده به روز می کند.

برای دریافت فراداده از سایر شرکت‌کنندگان، هنگام ساختن AddonSession ، باید با تماس با شرکت‌کننده متادیتا، یک کنترل‌کننده ثبت شود.

فراداده کدگذاری شده MAX_INDIVIDUAL_PARTICIPANT_METADATA_SIZE_BYTES بایت برای هر شرکت‌کننده است.

مولفه های
metadata: ByteArray !

یک لکه رمزگذاری شده از فراداده که ابرداده مربوطه را برای شرکت کننده محلی توصیف می کند.

پرتاب می کند
java.lang.IllegalArgumentException

اگر فراداده ارائه شده از MAX_INDIVIDUAL_PARTICIPANT_METADATA_SIZE_BYTES بایت بیشتر باشد

java.lang.IllegalStateException

اگر جلسه تمام شده باشد این ممکن است یک فراخوان صریح به endSession باشد یا ممکن است به دلیل یک دلیل خارجی باشد که از طریق onSessionEnded ظاهر می شود.