التعاون باستخدام إضافة 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).