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

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 : وقتی بافر کامل شد و رسانه اکنون برای پخش آماده است، تماس بگیرید.