Google Meet Live Sharing Co-Watching API تجربه جلسه چند شرکت کننده را که محتوای برنامه شما را تماشا یا گوش می دهند مدیریت می کند.
این راهنما نحوه پیاده سازی Co-Watching API را توضیح می دهد.
یک CoWatchingClient
ایجاد کنید
برای شروع، یک createCoWatchingClient
از AddonSession
که در Get Start ایجاد کردید ایجاد کنید.
برای ایجاد یک CoWatchingCient
، متد AddonSession.createCoWatchingClient
را فراخوانی کنید و یک CoWatchingDelegate
ارائه دهید.
CoWatchingDelegate
روشی است که Co-Watching API برنامه شما را هر زمان که وضعیت جدیدی در دسترس باشد به روز می کند. انتظار می رود زمانی که متد CoWatchingDelegate.onCoWatchingStateChanged
فراخوانی می شود، برنامه شما بلافاصله حالت جدید را اعمال کند.
نمونه کد زیر نحوه استفاده از Co-Watching API را نشان می دهد:
TypeScript
const coWatchingClient = await addonSession.createCoWatchingClient({
activityTitle: "ACTIVITY_TITLE",
onCoWatchingStateQuery() {
// This function should return the current state of your CoWatching activity
return getMyApplicationCoWatchingState();
},
onCoWatchingStateChanged(coWatchingState: CoWatchingState) {
// This function should apply newState to your ongoing CoWatching activity
},
});
عنوان رسانه فعالیت خود را جایگزین ACTIVITY_TITLE کنید.
وضعیت فعلی را مدیریت کنید
هنگامی که کاربران در برنامه شما اقدامی انجام می دهند، انتظار می رود که برنامه شما بلافاصله متدهای API ارائه شده را فراخوانی کند.
شما فقط باید این روش ها را در پاسخ به رویدادهای مهم فراخوانی کنید. به عنوان مثال، لازم نیست هر بار که برنامه شما یک ویدیو در حال پخش را پیش می برد، با آنها تماس بگیرید. CoWatchingDelegate
که در بالا ایجاد کردید در این شرایط بهروزرسانی موقعیتهای پخش بازی را انجام میدهد.
با استفاده از این روش ها می توانید وضعیت تماشای مشترک را کنترل کنید:
-
CoWatchingClient.notifySwitchToMedia
: هر زمان که رسانه در حال پخش فعال تغییر کرد، تماس بگیرید. به عنوان مثال، کاربر یک ویدیوی جدید را انتخاب می کند یا پخش خودکار ویدیوی بعدی را شروع می کند. -
CoWatchingClient.notifyPauseState
: هنگامی که کاربر رسانه پخش را متوقف یا لغو مکث می کند، تماس می گیرد. -
CoWatchingClient.notifySeekToTimestamp
: زمانی تماس می گیرد که کاربر به صراحت موقعیت پخش را تغییر می دهد. -
CoWatchingClient.notifyPlayoutRate
: زمانی که کاربر سرعت پخش را به مقدار جدیدی (مثلاً 1.25x) به روز می کند، تماس می گیرد. -
CoWatchingClient.notifyBuffering
: هنگامی که برنامه کاربر به دلیل بافر شدن از سوئیچ رسانه قبلی، جستجوی رسانه یا تراکم شبکه شروع به بافر می کند، تماس بگیرید. -
CoWatchingClient.notifyReady
: وقتی بافر کامل شد و رسانه اکنون برای پخش آماده است، تماس بگیرید.