التعاون باستخدام إضافة Meet

يمكن للمشاركين في اجتماع العمل بشكل تعاوني على نشاط إحدى إضافات Google Meet. عند بدء نشاط تعاوني، يتلقّى جميع المشاركين في الاجتماع إشعارًا بأنّ النشاط جارٍ.

يتم تعديل هذا الإشعار حسب مدى توفّر الإضافة وحالة تثبيتها:

  • إذا كانت الإضافة مثبَّتة لدى المشارك: يمكنه الانضمام إلى النشاط.

  • إذا لم تكن الإضافة مثبَّتة لدى المشارك، سيتم توجيهه إلى تثبيتها.

  • إذا كانت الإضافة غير متاحة على النظام الأساسي الذي يستخدمه المشارك: يتم إعلامه بأنّه لا يمكنه الانضمام إلى النشاط باستخدام جهازه الحالي.

عندما ينضم مستخدم إلى النشاط، سيحمّل أُطر iframe الخاصة به مع محتوى الإضافة. يمكنك تخصيص ما إذا كان على المشاركين الجدد فتح النشاط التعاوني في المسرح الرئيسي أو اللوحة الجانبية.

بدء النشاط

يتم بدء نشاط من خلال استدعاء الطريقة startActivity() التي تستخدم واجهة ActivityStartingState.

الخطوة 1 (اختيارية): تحدّد الإضافة حالة بدء النشاط

يحتوي ActivityStartingState على معلومات حول الحالة الأولية للإضافة المستخدَمة عندما يقبل المشارك الدعوة للانضمام إلى النشاط.

يمكن للإضافة ضبط ActivityStartingState أو تعديله من خلال استدعاء طريقة setActivityStartingState() في أي وقت قبل النشاط أو أثنائه. يمكن حذف المكالمات إلى setActivityStartingState() إذا تم ضبط ActivityStartingState حصريًا في المكالمة إلى startActivity().

الخطوة 2: تبدأ الإضافة النشاط

يبدأ النشاط عندما تستدعي الإضافة طريقة startActivity() في MeetSidePanelClient. يستخدِم الإجراء startActivity() عنصر ActivityStartingState كمعلَمة، لذا يمكن استدعاء startActivity() بدلاً من استدعاء setActivityStartingState().

بعد أن يكمل المستخدم عملية اختيار المحتوى ويصبح جاهزًا لبدء نشاط، استدعِ طريقة startActivity() في الإضافة على النحو التالي:

    sidePanelClient.startActivity({
        mainStageUrl: "https://app.example.com/mainstage",
        additionalData: JSON.stringify({
            // State to send to participants.
        })
    });

عند استدعاء الطريقة startActivity()، ينفّذ Meet الإجراءات التالية:

  • بالنسبة إلى المشاركين الآخرين: يعرض Meet إشعارًا بأنّ النشاط جارٍ.

  • بالنسبة إلى بادئ التشغيل: إذا تم تحديد عنوان URL للمسرح الرئيسي في ActivityStartingState، يفتح Meet المسرح الرئيسي باستخدام عنوان URL من ActivityStartingState.

الخطوة 3: الحصول على حالة بدء النشاط

عندما ينضم مستخدم إلى النشاط، يتم تحميل الإضافة في المسرح الرئيسي أو اللوحة الجانبية، وذلك استنادًا إلى ActivityStartingState.

باستخدام السمة additionalData، يمكنك مشاركة البيانات الأولية (المعروفة أيضًا باسم الحالة) مع المستخدمين الذين ينضمون إلى النشاط. بعد تهيئة MainStageClient أو SidePanelClient، يمكنك استدعاء الطريقة getActivityStartingState() لاسترداد السمة additionalData.

const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);

الخطوة 4 (اختيارية): مشاركة حالة الإضافة في نشاط

يمكنك أيضًا مشاركة الحالة بين المستخدمين أثناء استمرار النشاط. يمكنك مشاركة الحالة بطريقتين:

  • يمكنك التعامل معها بنفسك من خلال إنشاء الخلفية الخاصة بالمزامنة.
  • استخدِم Co-Doing API، وهي طريقة سهلة وسريعة لمشاركة بيانات عشوائية بين المستخدمين.

مثال: إضافة الرسوم المتحركة على GitHub

تتضمّن الإضافة النموذجية"Animation" على GitHub ميزة التعاون في الإضافة. الخطوة 1 من هذا الدليل غير مضمّنة في النموذج. بدلاً من ذلك، عندما ينقر الشخص الذي بدأ استخدام الإضافة على الزر "بدء الصورة المتحركة" في اللوحة الجانبية، يتم استدعاء الطريقة startActivity() (الخطوة 2) من خلال ملء حالة البدء باللون الذي اختاره المستخدم. بعد بدء النشاط، تسترد المرحلة الرئيسية حالة البدء من خلال استدعاء الطريقة getActivityStartingState() (الخطوة 3). تم حذف الخطوة 4 لأنّ الحالة (اللون المحدّد) لا تتم مشاركتها بين المشاركين أثناء النشاط في هذه الإضافة النموذجية. ومع ذلك، يمكن للمستخدمين الفرديين تغيير حالتهم من خلال اختيار لون، يتم إرساله من إطار اللوحة الجانبية إلى إطار المسرح الرئيسي باستخدام المراسلة من إطار إلى آخر.

القيود

  • يجب أن تنتمي عناوين URL المحدّدة في ActivityStartingState إلى المصدر نفسه الذي تنتمي إليه المصادر المحدّدة في بيان الإضافة. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة أمان الإضافات.
  • يجب أن تتوافق أطوال أحرف السمات sidePanelUrl وmainStageUrl وadditionalData مع حدود الحجم الخاصة بها كما هو منشور في مستندات مرجع حزمة تطوير البرامج (SDK).