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

تدير واجهة برمجة التطبيقات لميزة "المشاركة المباشرة مع الآخرين" في Google Meet تجربة الاجتماع لعدّة مشاركين يشاهدون المحتوى في تطبيقك أو يستمعون إليه.

يشرح هذا الدليل كيفية تنفيذ واجهة برمجة التطبيقات Co-Watching API.

إنشاء CoWatchingClient

للبدء، أنشئ createCoWatchingClient من AddonSession التي أنشأتها في البدء.

لإنشاء 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" بعنوان الوسائط الخاص بنشاطك.

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

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

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

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

  • CoWatchingClient.notifySwitchToMedia: يمكنك الاتصال عندما تتغيّر الوسائط التي يتم تشغيلها بشكل نشط. على سبيل المثال، يختار المستخدم فيديو جديدًا، أو تبدأ ميزة التشغيل التلقائي الفيديو التالي.
  • CoWatchingClient.notifyPauseState: يمكنك الاتصال عندما يوقف المستخدم تشغيل الوسائط مؤقتًا أو يعيدها.
  • CoWatchingClient.notifySeekToTimestamp: يمكنك الاتصال عندما يغير المستخدم موضع التشغيل بوضوح.
  • CoWatchingClient.notifyPlayoutRate: يجب الاتصال عندما يعدّل المستخدم سرعة التشغيل إلى قيمة جديدة (على سبيل المثال، 1.25x).
  • CoWatchingClient.notifyBuffering: يمكنك الاتصال عندما يبدأ تطبيق أحد المستخدمين في التخزين المؤقت بسبب التخزين المؤقت من مفتاح تحكّم سابق للوسائط أو البحث عن الوسائط أو ازدحام الشبكة.
  • CoWatchingClient.notifyReady: يمكنك الاتصال عند اكتمال التخزين المؤقت وتصبح الوسائط جاهزة للتشغيل.