این صفحه نحوه مدیریت اشیاء کلاینتی را که یک افزونه برای ارتباط با Google Meet به آنها نیاز دارد، شرح میدهد.
ابتدا، افزونه نیاز به ایجاد یک جلسه دارد:
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
CLOUD_PROJECT_NUMBER با شماره پروژه Google Cloud خود جایگزین کنید.
از جلسه، دو شیء کلاینت میتوانند ایجاد شوند:
MeetMainStageClientبرای افزونهای که در مرحله اصلی اجرا میشود، با استفاده ازawait session.createMainStageClient()قابل بازیابی است.MeetSidePanelClientبرای افزونهای که در پنل کناری اجرا میشود و با استفاده ازawait session.createSidePanelClient()قابل بازیابی است.
بازیابی شیء کلاینت صحیح برای صحنه اصلی یا پنل کناری مهم است. اگر کلاینت اشتباه بازیابی شود، SDK افزونههای Google Meet یک استثنا ایجاد میکند. برای بررسی اینکه افزونه در کدام iframe (صحنه اصلی یا پنل کناری) اجرا میشود، از متد getFrameType() استفاده کنید.
نمونه کد زیر نحوه نمونهسازی شیء کلاینت مرحله اصلی را نشان میدهد:
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER"
});
const mainStageClient = await session.createMainStageClient();
CLOUD_PROJECT_NUMBER با شماره پروژه Cloud خود جایگزین کنید.
ویژگیهای مشترک
برخی از ویژگیها هم در MeetMainStageClient و هم در شیء MeetSidePanelClient موجود هستند، در حالی که برخی دیگر از ویژگیها مختص یک کلاینت خاص هستند.
برای مثال، برخی از ویژگیهایی که در هر دو کلاینت موجود است عبارتند از:
- متد
getActivityStartingState()که اطلاعاتی در مورد وضعیت اولیه افزونه، زمانی که شرکتکننده دعوت برای پیوستن به فعالیت را میپذیرد، دریافت میکند. - متد
getMeetingInfo()که جزئیات مربوط به جلسهای که افزونه در آن اجرا میشود را دریافت میکند. - متد
setActivityStartingState()که وضعیت اولیه افزونه را هنگامی که شرکتکننده دعوت برای پیوستن به فعالیت را میپذیرد، تنظیم میکند. - برای فهرست جامعی از ویژگیهای هر دو کلاینت، به شیء
MeetAddonClientمراجعه کنید.
ویژگیهای خاص مشتری
ویژگیهایی که فقط در شیء MeetMainStageClient موجود هستند:
متد
notifySidePanel()پیامی را به پنل کناری ارسال میکند. این پیام را میتوان با استفاده از تابعframeToFrameMessageدر پنل کناری دریافت کرد.متد
loadSidePanel()iframe پنل کناری را باز میکند. منبع iframe روی URL پنل کناری از فایل manifest تنظیم شده است.متد
unloadSidePanel()، iframe پنل کناری را میبندد. حالت افزونه هنگام فراخوانی متد در Meet حفظ نمیشود. این به افزونه بستگی دارد که قبل از فراخوانی این متد، هر حالت افزونهای را حفظ کند.
ویژگیهایی که فقط در شیء MeetSidePanelClient موجود هستند:
- متد
notifyMainStage()پیامی را به mainStage ارسال میکند. این پیام را میتوان با استفاده از ویژگی callback مربوط بهframeToFrameMessageدر mainstage دریافت کرد.