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

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

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

شروع کنید

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

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

تایپ اسکریپت

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

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

یک کلاینت هم-تماشاگر ایجاد کنید

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

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

CoWatchingDelegate روشی است که API Co-Watching برنامه شما را هر زمان که وضعیت جدیدی در دسترس باشد، به‌روزرسانی می‌کند. انتظار می‌رود وقتی متد onCoWatchingStateChanged() فراخوانی می‌شود، برنامه شما بلافاصله وضعیت جدید را اعمال کند.

نمونه کد زیر نحوه استفاده از API Co-Watching را نشان می‌دهد:

تایپ اسکریپت

 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() : زمانی فراخوانی می‌شود که کاربر سرعت پخش را به مقدار جدیدی به‌روزرسانی کند (برای مثال، ۱.۲۵x).

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

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

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