API Co-Watching را پیاده سازی کنید

Co-Watching API تجربه جلسه چندین شرکت کننده را که محتوای برنامه شما را تماشا یا گوش می دهند مدیریت می کند.

این راهنما نحوه پیاده سازی Co-Watching API را توضیح می دهد.

شروع کنید

برای استفاده از Co-Watching API، ابتدا باید یک افزونه Meet بسازید . پس از تکمیل این مراحل، می‌توانید از API Co-Watching از داخل افزونه جدید خود استفاده کنید.

برای استفاده از Co-Watching API، با دریافت یک شی AddonSession شروع کنید، که به عنوان نقطه ورود برای فعالیت های مشترک Google Meet عمل می کند:

TypeScript

const session = await window.meet.addon.createAddonSession({
    cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});

CLOUD_PROJECT_NUMBER با شماره پروژه پروژه Google Cloud خود جایگزین کنید.

یک مشتری تماشاگر مشترک ایجاد کنید

برای شروع، یک شی CoWatchingClient از AddonSession خود ایجاد کنید.

برای ایجاد یک CoWatchingCient ، متد createCoWatchingClient() را فراخوانی کنید و یک شی CoWatchingDelegate ارائه دهید.

CoWatchingDelegate روشی است که Co-Watching API برنامه شما را هر زمان که وضعیت جدیدی در دسترس باشد به روز می کند. انتظار می رود زمانی که متد 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 که ایجاد می‌کنید، در این شرایط موقعیت‌های پخش بازی را به‌روزرسانی می‌کند.

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

  • notifyBuffering() : هنگامی که برنامه کاربر به دلیل بافر شدن از سوییچ رسانه قبلی، جستجوی رسانه یا تراکم شبکه شروع به بافر می کند، تماس می گیرد.

  • notifyPauseState() : تماس زمانی که کاربر رسانه در حال پخش را متوقف یا لغو مکث کند.

  • notifyPlayoutRate() : زمانی که کاربر سرعت پخش را به یک مقدار جدید (مثلاً 1.25x) به روز می کند، تماس می گیرد.

  • notifyReady() : وقتی بافر کامل شد و رسانه اکنون برای پخش آماده است، تماس بگیرید.

  • notifySeekToTimestamp() : تماس زمانی که کاربر به صراحت موقعیت پخش را تغییر می دهد.

  • notifySwitchToMedia() : هر زمان که رسانه در حال پخش فعال تغییر کرد، تماس بگیرید. به عنوان مثال، کاربر یک ویدیوی جدید را انتخاب می کند، یا پخش خودکار ویدیوی بعدی را شروع می کند.