يمكن للمشاركين في الاجتماع التعاون في نشاط إحدى إضافات 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).