این صفحه نحوه مدیریت اشیاء کلاینت را که یک افزونه برای ارتباط با 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 پانل کناری از فایل مانیفست تنظیم شده است.متد
unloadSidePanel()
iframe پانل کناری را می بندد. هنگامی که متد فراخوانی می شود، وضعیت افزودنی در Meet حفظ نمی شود. این به افزونه بستگی دارد که قبل از فراخوانی این روش، هر حالت افزودنی را حفظ کند.
ویژگیهای موجود فقط در شی MeetSidePanelClient
:
- متد
notifyMainStage()
پیامی را به mainStage ارسال می کند. پیام را می توان با عضویت در ویژگیframeToFrameMessage
callback در قسمت اصلی دریافت کرد.