تطبيق واجهة برمجة التطبيقات الخاصة بميزة "مشاهدة المحتوى مع الآخرين"

تتولّى واجهة برمجة التطبيقات Co-Watching API إدارة تجربة الاجتماع لعدة مشاركين يشاهدون محتوًى في تطبيقك أو يستمعون إليه.

يوضّح هذا الدليل كيفية استخدام واجهة برمجة التطبيقات Co-Watching API.

البدء

لاستخدام واجهة برمجة التطبيقات Co-Watching API، عليك أولاً نشر إضافة Meet. بعد إكمال هذه الخطوات، يمكنك بدء استخدام واجهة برمجة التطبيقات Co-Watching API من داخل الإضافة الجديدة.

لاستخدام واجهة برمجة التطبيقات 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 عنصر.

تستخدم واجهة برمجة التطبيقات 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 بعنوان الوسائط لنشاطك.

إدارة الحالة الحالية

عندما يتّخذ المستخدمون إجراءً في تطبيقك، من المتوقّع أن يستدعي تطبيقك على الفور طرق واجهة برمجة التطبيقات المقدَّمة.

يجب ألا تستدعي هذه الطرق إلا استجابةً للأحداث المهمة. على سبيل المثال، ليس عليك استدعاؤها في كل مرة يقدّم فيها تطبيقك فيديو قيد التشغيل. يتولّى عنصر CoWatchingDelegate الذي تنشئه الحصول على مواضع التشغيل المعدَّلة في هذه الظروف.

يمكنك التحكّم في حالة المشاهدة مع الآخرين باستخدام الطرق التالية:

  • notifyBuffering(): استدعِ هذه الطريقة عندما يبدأ تطبيق المستخدم في التخزين المؤقت بسبب التخزين المؤقت الناتج عن تبديل الوسائط أو البحث عن الوسائط أو ازدحام الشبكة.

  • notifyPauseState(): استدعِ هذه الطريقة عندما يوقف المستخدم الوسائط قيد التشغيل مؤقتًا أو يعيد تشغيلها.

  • notifyPlayoutRate(): استدعِ هذه الطريقة عندما يغيّر المستخدم سرعة التشغيل إلى قيمة جديدة (مثل 1.25x).

  • notifyReady(): استدعِ هذه الطريقة عند اكتمال التخزين المؤقت وأصبحت الوسائط جاهزة للتشغيل.

  • notifySeekToTimestamp(): استدعِ هذه الطريقة عندما يغيّر المستخدم موضع التشغيل بشكل صريح.

  • notifySwitchToMedia(): استدعِ هذه الطريقة كلما تغيّرت الوسائط قيد التشغيل حاليًا. على سبيل المثال، يختار المستخدم فيديو جديدًا أو يبدأ التشغيل التلقائي الفيديو التالي.