يمكن للمشاركين في اجتماع العمل بشكل تعاوني على نشاط إضافة في 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
تتضمّن الإضافة النموذجية"الرسوم المتحركة" على GitHub
ميزة التعاون في الإضافة. الخطوة 1
من هذا الدليل غير مضمّنة في النموذج. بدلاً من ذلك، عندما ينقر من بدأ الإضافة على زر "بدء الصورة المتحركة" في اللوحة الجانبية، يتم استدعاء الطريقة startActivity()
(الخطوة 2) من خلال ملء حالة البدء باللون الذي اختاره المستخدم. بعد بدء النشاط، تسترد المرحلة الرئيسية حالة البدء من خلال استدعاء طريقة getActivityStartingState()
(الخطوة 3). تم حذف الخطوة 4 لأنّ الحالة (اللون المحدّد) لا تتم مشاركتها بين المشاركين أثناء النشاط في هذه الإضافة النموذجية. ومع ذلك، يمكن للمستخدمين الفرديين تغيير حالتهم من خلال اختيار لون، ويتم إرسال هذا اللون من إطار اللوحة الجانبية إلى إطار المسرح الرئيسي باستخدام المراسلة بين الإطارات.
القيود
- يجب أن تنتمي عناوين URL المحدّدة في
ActivityStartingState
إلى المصدر نفسه الذي تنتمي إليه المصادر المحدّدة في بيان الإضافة. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة أمان الإضافات. - يجب أن تتوافق أطوال أحرف السمات
sidePanelUrl
وmainStageUrl
وadditionalData
مع حدود الحجم الخاصة بها كما هو منشور في مستندات مرجع حزمة تطوير البرامج (SDK).