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

تتولّى واجهة برمجة التطبيقات 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 لتعديل تطبيقك كلما توفّرت حالة جديدة. من المتوقّع أن يطبّق تطبيقك الحالة الجديدة على الفور عند استدعاء الطريقة 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.25 مرة).

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

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

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