إدارة كائنات العميل
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
توضّح هذه الصفحة كيفية إدارة عناصر العميل التي يحتاج إليها أحد الإضافات للتواصل مع Google Meet.
أولاً، يجب أن تنشئ الإضافة جلسة:
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
استبدِل CLOUD_PROJECT_NUMBER برقم مشروعك على Google Cloud.
من الجلسة، يمكن إنشاء كائنَي عميل:
من المهم استرداد عنصر العميل الصحيح إما للمرحلة الرئيسية أو اللوحة الجانبية. إذا تم استرداد العميل غير الصحيح، ستعرض حزمة تطوير البرامج (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
الدالة المعالِجة في اللوحة الجانبية.
يفتح الإطار المتضمّن (iframe) للوحة الجانبية باستخدام طريقة loadSidePanel()
. يتم ضبط مصدر iframe على عنوان URL الخاص باللوحة الجانبية من ملف البيان.
تؤدي الطريقة unloadSidePanel()
إلى إغلاق إطار iframe للوحة الجانبية. لا يتم الاحتفاظ بحالة الإضافة ضمن Meet عند استدعاء الطريقة.
ويعود إلى الإضافة الاحتفاظ بأي حالة
إضافة قبل استدعاء هذه الطريقة.
الميزات المتوفّرة فقط في
الكائن MeetSidePanelClient
:
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-29 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-29 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Manage client objects\n\nThis page describes how to manage client objects that an\nadd-on needs to communicate with Google Meet.\n\nFirst, the add-on needs to establish a session: \n\n const session = await window.meet.addon.createAddonSession({\n cloudProjectNumber: \"\u003cvar translate=\"no\"\u003eCLOUD_PROJECT_NUMBER\u003c/var\u003e\",\n });\n\nReplace \u003cvar translate=\"no\"\u003eCLOUD_PROJECT_NUMBER\u003c/var\u003e with the project number of your\nGoogle Cloud project.\n\nFrom the session, two client objects can be created:\n\n- The [`MeetMainStageClient`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetmainstageclient)\n for an add-on running in the [main\n stage](/workspace/meet/add-ons/guides/overview#main-stage), retrievable using `await\n session.createMainStageClient()`.\n\n- The [`MeetSidePanelClient`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetsidepanelclient)\n for an add-on running in the [side\n panel](/workspace/meet/add-ons/guides/overview#side-panel), retrievable using `await\n session.createSidePanelClient()`.\n\nIt's important to retrieve the correct client object for either the main stage\nor side panel. If the wrong client is retrieved, the Google Meet add-ons SDK throws\nan exception. To check which iframe (main stage or side panel) the\nadd-on is running in, use the\n[`getFrameType()`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetaddon.getframetype)\nmethod.\n\nThe following code sample shows how to instantiate the main stage client object: \n\n const session = await window.meet.addon.createAddonSession({\n cloudProjectNumber: \"\u003cvar translate=\"no\"\u003eCLOUD_PROJECT_NUMBER\u003c/var\u003e\"\n });\n const mainStageClient = await session.createMainStageClient();\n\nReplace \u003cvar translate=\"no\"\u003eCLOUD_PROJECT_NUMBER\u003c/var\u003e with the project number of your\nCloud project.\n\nShared features\n---------------\n\nSome features are available in both the `MeetMainStageClient` and the\n`MeetSidePanelClient` object, whereas other features are specific to a certain\nclient.\n\nFor example, some features that are available in both clients include:\n\n- The [`getActivityStartingState()`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetaddonclient.getactivitystartingstate) method that gets information about the initial state of the add-on when the participant accepts the invitation to join the activity.\n- The [`getMeetingInfo()`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetaddonclient.getmeetinginfo) method that gets details about the meeting in which the add-on is running.\n- The [`setActivityStartingState()`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetaddonclient.setactivitystartingstate) method that sets the initial state of the add-on when the participant accepts the invitation to join the activity.\n- For a comprehensive list of features in both clients, see the [`MeetAddonClient`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetaddonclient) object.\n\nClient-specific features\n------------------------\n\nFeatures available only in the\n[`MeetMainStageClient`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetmainstageclient)\nobject:\n\n- The [`notifySidePanel()`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetmainstageclient.notifysidepanel)\n method sends a message to the side panel. The message can be received by\n subscribing to the [`frameToFrameMessage`\n callback](/workspace/meet/add-ons/guides/frame-to-frame-messaging) in the side panel.\n\n- The [`loadSidePanel()`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetmainstageclient.loadsidepanel)\n method opens the side-panel iframe. The iframe source is set to the\n side-panel URL from the manifest file.\n\n- The [`unloadSidePanel()`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetmainstageclient.unloadsidepanel)\n method closes the side-panel iframe. The add-on\n state isn't retained within Meet when the method is called.\n It's up to the add-on to persist any\n add-on state before this method is called.\n\nFeatures available only in the\n[`MeetSidePanelClient`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetsidepanelclient)\nobject:\n\n- The [`notifyMainStage()`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetsidepanelclient.notifymainstage) method sends a message to the mainStage. The message can be received by subscribing to the [`frameToFrameMessage` callback\n property](/workspace/meet/add-ons/guides/frame-to-frame-messaging) in the mainstage."]]