مشارکت بااستفاده از برافزای Meet

شرکت‌کنندگان در جلسه می‌توانند به‌طور مشارکتی روی فعالیت برافزای Google Meet کار کنند. وقتی فعالیت مشارکتی شروع می‌شود، همه شرکت‌کنندگان در جلسه اعلانی دریافت می‌کنند که فعالیت درحال انجام است.

این اعلان با دردسترس بودن و وضعیت نصب برافزا سازگار شده است:

  • اگر شرکت‌کننده برافزا را نصب کرده باشد: می‌تواند به فعالیت بپیوندد.

  • اگر شرکت‌کننده برافزا را نصب نکرده باشد: به او گفته می‌شود برافزا را نصب کند.

  • اگر برافزا برای پلاتفرم شرکت‌کننده دردسترس نباشد: به او اطلاع داده می‌شود که نمی‌تواند بااستفاده از دستگاه فعلی‌اش به فعالیت بپیوندد.

وقتی کاربری به فعالیت می‌پیوندد، iframe خودش را با محتوای برافزای شما بار می‌کند. می‌توانید سفارشی‌سازی کنید که آیا شرکت‌کنندگان جدید باید فعالیت مشارکتی را در صفحه اصلی یا پانل کناری باز کنند یا نه.

شروع کردن فعالیت

فعالیت با فراخوانی روش startActivity() شروع می‌شود که از میانای ActivityStartingState استفاده می‌کند.

مرحله ۱ (اختیاری): برافزا وضعیت شروع فعالیت را تنظیم می‌کند

ActivityStartingState حاوی اطلاعاتی درباره وضعیت اولیه برافزایی است که وقتی شرکت‌کننده دعوت پیوستن به فعالیت را می‌پذیرد استفاده می‌شود.

برافزا می‌تواند ActivityStartingState را با فراخوانی روش setActivityStartingState() در هر زمانی قبل‌از یا درطول فعالیت تنظیم یا به‌روز کند. اگر ActivityStartingState منحصراً در تماس با startActivity() تنظیم شده باشد، می‌توان از تماس با setActivityStartingState() صرف‌نظر کرد.

مرحله ۲: برافزا فعالیت را شروع می‌کند

فعالیت زمانی شروع می‌شود که برافزا روش startActivity() را در MeetSidePanelClient فراخوانی کند. روش startActivity() شیء ActivityStartingState را به‌عنوان پارامتر می‌گیرد، بنابراین به‌جای فراخوانی setActivityStartingState() می‌توان startActivity() را فراخوانی کرد.

وقتی کاربر انتخاب محتوا را تکمیل کرد و آماده شروع فعالیت بود، روش startActivity() را در برافزایتان به‌صورت زیر فراخوانی کنید:

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

وقتی روش startActivity() فراخوانی می‌شود، Meet کنش‌های زیر را انجام می‌دهد:

  • برای سایر شرکت‌کنندگان: Meet اعلانی نشان می‌دهد که فعالیت درحال انجام است.

  • برای آغازگر: اگر نشانی وب صحنه اصلی در ActivityStartingState مشخص شده باشد، Meet صحنه اصلی را بااستفاده از نشانی وب موجود در ActivityStartingState باز می‌کند.

مرحله ۳: دریافت وضعیت شروع فعالیت

وقتی کاربری به فعالیت می‌پیوندد، برافزای شما را بسته به ActivityStartingState در جایگاه اصلی یا پانل کناری بار می‌کند.

با ویژگی additionalData، می‌توانید داده‌های اولیه (که به آن وضعیت هم گفته می‌شود) را با کاربرانی که به فعالیت می‌پیوندند هم‌رسانی کنید. پس‌از مقداردهی اولیه MainStageClient یا SidePanelClient، می‌توانید روش getActivityStartingState() را برای بازیابی ویژگی additionalData فراخوانی کنید.

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

مرحله ۴ (اختیاری): هم‌رسانی وضعیت برافزا در فعالیت

همچنین می‌توانید با نوشتن پس‌زمینه همگام‌سازی خودتان، وضعیت را درطول فعالیت بین کاربران هم‌رسانی کنید.

مثال: برافزای پویانمایی در GitHub

برافزای نمونه «پویانمایی» در GitHub شامل مشارکت در برافزا است. مرحله ۱ از این راهنما در نمونه گنجانده نشده است. درعوض، وقتی آغازگر برافزا روی دکمه «شروع پویانمایی» در پانل کناری کلیک می‌کند، روش startActivity() با پر کردن حالت شروع با رنگ انتخابی کاربر فراخوانی می‌شود (مرحله ۲). پس‌از شروع فعالیت، صحنه اصلی با فراخوانی روش getActivityStartingState() (مرحله ۳) وضعیت شروع را بازیابی می‌کند. مرحله ۴ حذف شده است، زیرا در این برافزای نمونه، وضعیت (رنگ انتخاب‌شده) درطول فعالیت بین شرکت‌کنندگان هم‌رسانی نمی‌شود. بااین‌حال، کاربران به‌صورت جداگانه می‌توانند وضعیت خودشان را با انتخاب رنگ تغییر دهند، که بااستفاده از پیام‌رسانی قاب‌به‌قاب از قاب پانل کناری به قاب صحنه اصلی ارسال می‌شود.

محدودیت‌ها

  • نشانی‌های وب مشخص‌شده در ActivityStartingState باید متعلق به همان مبدأ باشند که در مانیفست برافزا مشخص شده است. برای اطلاعات بیشتر، به امنیت برافزا مراجعه کنید.
  • طول نویسه ویژگی sidePanelUrl، ویژگی mainStageUrl، و ویژگی additionalData باید با محدودیت‌های اندازه مربوطه که در اسناد مرجع کیت توسعه نرم‌افزار منتشر شده است مطابقت داشته باشد.