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

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

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

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

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

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

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

  • notifyBuffering(): يتمّ الاتصال عندما يبدأ تطبيق المستخدم في التخزين المؤقت بسبب التخزين المؤقت من عملية سابقة للتبديل بين الوسائط أو الانتقال إلى محتوى معيّن في الوسائط أو ازدحام الشبكة.

  • notifyPauseState(): يتم الاتصال عندما يوقف المستخدم الوسائط مؤقتًا أو يشغّلها من جديد.

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

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

  • notifySeekToTimestamp(): يتم استدعاء هذا الحدث عندما يغيّر المستخدم موضع التشغيل صراحةً.

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