Cards v2

بطاقة

واجهة بطاقة معروضة في رسالة على Google Chat أو إضافة Google Workspace

تتيح البطاقات تخطيطًا محدّدًا وعناصر تفاعلية في واجهة المستخدم، مثل الأزرار والوسائط المتعددة، مثل الصور. استخدِم البطاقات لتقديم معلومات مفصّلة وجمع معلومات من المستخدمين وتوجيههم لاتّخاذ الخطوة التالية.

تصميم البطاقات ومعاينتها باستخدام "أداة إنشاء البطاقات"

فتح "أداة إنشاء البطاقات"

لمعرفة كيفية إنشاء البطاقات، يمكنك الاطّلاع على المستندات التالية:

ملاحظة: يمكنك إضافة ما يصل إلى 100 أداة لكل بطاقة. ويتم تجاهل أي أدوات تتجاوز هذا الحدّ. ينطبق هذا الحدّ على كلّ من رسائل البطاقات ومربّعات الحوار في تطبيقات Google Chat، وعلى البطاقات في إضافات Google Workspace.

مثال: رسالة بطاقة لتطبيق Google Chat

مثال على بطاقة جهة اتصال

لإنشاء نموذج رسالة البطاقة في Google Chat، استخدِم JSON التالي:

{
  "cardsV2": [
    {
      "cardId": "unique-card-id",
      "card": {
        "header": {
           "title": "Sasha",
           "subtitle": "Software Engineer",
           "imageUrl":
           "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
           "imageType": "CIRCLE",
           "imageAltText": "Avatar for Sasha"
         },
         "sections": [
           {
             "header": "Contact Info",
             "collapsible": true,
             "uncollapsibleWidgetsCount": 1,
             "widgets": [
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "EMAIL"
                   },
                   "text": "sasha@example.com"
                 }
               },
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "PERSON"
                   },
                   "text": "<font color=\"#80e27e\">Online</font>"
                 }
               },
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "PHONE"
                   },
                   "text": "+1 (555) 555-1234"
                 }
               },
               {
                 "buttonList": {
                   "buttons": [
                     {
                       "text": "Share",
                       "onClick": {
                        "openLink": {
                           "url": "https://example.com/share"
                         }
                       }
                     },
                     {
                       "text": "Edit",
                       "onClick": {
                         "action": {
                           "function": "goToView",
                           "parameters": [
                             {
                               "key": "viewType",
                               "value": "EDIT"
                             }
                           ]
                         }
                       }
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
    }
  ]
}
تمثيل JSON
{
  "header": {
    object (CardHeader)
  },
  "sections": [
    {
      object (Section)
    }
  ],
  "sectionDividerStyle": enum (DividerStyle),
  "cardActions": [
    {
      object (CardAction)
    }
  ],
  "name": string,
  "fixedFooter": {
    object (CardFixedFooter)
  },
  "displayStyle": enum (DisplayStyle),
  "peekCardHeader": {
    object (CardHeader)
  }
}
الحقول
header

object (CardHeader)

تمثّل هذه السمة عنوان البطاقة. يحتوي العنوان عادةً على صورة في المقدّمة وعنوان. تظهر العناوين دائمًا في أعلى البطاقة.

sections[]

object (Section)

تحتوي على مجموعة من التطبيقات المصغّرة. يحتوي كل قسم على عنوان اختياري خاص به. يتم فصل الأقسام بصريًا باستخدام فاصل خطي. للاطّلاع على مثال في تطبيقات Google Chat، راجِع مقالة تحديد قسم من بطاقة.

sectionDividerStyle

enum (DividerStyle)

نمط الفاصل بين الرأس والأقسام والتذييل

cardActions[]

object (CardAction)

إجراءات البطاقة تتم إضافة الإجراءات إلى قائمة شريط أدوات البطاقة.

متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.

على سبيل المثال، ينشئ JSON التالي قائمة إجراءات بطاقة تتضمّن الخيارين Settings و Send Feedback:

"cardActions": [
  {
    "actionLabel": "Settings",
    "onClick": {
      "action": {
        "functionName": "goToView",
        "parameters": [
          {
            "key": "viewType",
            "value": "SETTING"
         }
        ],
        "loadIndicator": "LoadIndicator.SPINNER"
      }
    }
  },
  {
    "actionLabel": "Send Feedback",
    "onClick": {
      "openLink": {
        "url": "https://example.com/feedback"
      }
    }
  }
]
name

string

اسم البطاقة يُستخدَم كمعرّف للبطاقة في التنقّل بين البطاقات.

متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.

displayStyle

enum (DisplayStyle)

في إضافات Google Workspace، يتم ضبط خصائص العرض الخاصة بـ peekCardHeader.

متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.

peekCardHeader

object (CardHeader)

عند عرض محتوى سياقي، يعمل عنوان بطاقة المعاينة كعنصر نائب حتى يتمكّن المستخدم من التنقّل للأمام بين بطاقات الصفحة الرئيسية والبطاقات السياقية.

متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.

CardHeader

تمثّل هذه السمة عنوان البطاقة. للاطّلاع على مثال في تطبيقات Google Chat، راجِع مقالة إضافة عنوان.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "title": string,
  "subtitle": string,
  "imageType": enum (ImageType),
  "imageUrl": string,
  "imageAltText": string
}
الحقول
title

string

مطلوب. تمثّل هذه السمة عنوان رأس البطاقة. يبلغ ارتفاع العنوان قيمة ثابتة: إذا تم تحديد كل من العنوان والعنوان الفرعي، سيشغل كل منهما سطرًا واحدًا. إذا تم تحديد العنوان فقط، سيشغل كلا السطرين.

subtitle

string

تمثّل هذه السمة العنوان الفرعي لعنوان البطاقة. إذا تم تحديدها، ستظهر في سطر منفصل أسفل title.

imageType

enum (ImageType)

الشكل المستخدَم لاقتصاص الصورة

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

imageUrl

string

عنوان HTTPS URL الخاص بالصورة في عنوان البطاقة

imageAltText

string

النص البديل لهذه الصورة المستخدَم لتسهيل الاستخدام

ImageType

الشكل المستخدَم لاقتصاص الصورة

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

عمليات التعداد
SQUARE القيمة التلقائية تطبيق قناع مربّع على الصورة على سبيل المثال، تتحوّل صورة بنسبة عرض إلى ارتفاع 4:3 إلى 3:3.
CIRCLE تطبيق قناع دائري على الصورة على سبيل المثال، تصبح الصورة ذات نسبة العرض إلى الارتفاع 4x3 دائرة بقطر 3.

القسم

يحتوي القسم على مجموعة من التطبيقات المصغّرة التي يتم عرضها عموديًا بالترتيب المحدّد.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "header": string,
  "widgets": [
    {
      object (Widget)
    }
  ],
  "collapsible": boolean,
  "uncollapsibleWidgetsCount": integer,
  "collapseControl": {
    object (CollapseControl)
  }
}
الحقول
header

string

النص الذي يظهر في أعلى القسم يتوافق مع النصوص المنسَّقة بتنسيق HTML البسيط. لمزيد من المعلومات حول تنسيق النص، يُرجى الاطّلاع على تنسيق النص في تطبيقات Google Chat و تنسيق النص في إضافات Google Workspace.

widgets[]

object (Widget)

جميع الأدوات في القسم يجب أن تحتوي على تطبيق مصغّر واحد على الأقل.

collapsible

boolean

يشير إلى ما إذا كان هذا القسم قابلاً للتصغير.

تخفي الأقسام القابلة للتصغير بعض الأدوات أو كلها، ولكن يمكن للمستخدمين توسيع القسم للكشف عن الأدوات المخفية من خلال النقر على عرض المزيد. يمكن للمستخدمين إخفاء التطبيقات المصغّرة مرة أخرى من خلال النقر على عرض أقل.

لتحديد التطبيقات المصغّرة المخفية، حدِّد uncollapsibleWidgetsCount.

uncollapsibleWidgetsCount

integer

عدد الأدوات غير القابلة للتصغير التي تظل مرئية حتى عند تصغير أحد الأقسام

على سبيل المثال، عندما يحتوي قسم على خمس أدوات ويكون uncollapsibleWidgetsCount مضبوطًا على 2، يتم عرض أول أداتين دائمًا ويتم تصغير آخر ثلاث أدوات تلقائيًا. يتم أخذ uncollapsibleWidgetsCount في الاعتبار فقط عندما تكون قيمة collapsible هي true.

collapseControl

object (CollapseControl)

اختيارية: تحديد زر توسيع القسم وتصغيره لن يظهر هذا الزر إلا إذا كان القسم قابلاً للتصغير. في حال عدم ضبط هذا الحقل، يتم استخدام الزر التلقائي.

أداة

تتألف كل بطاقة من تطبيقات مصغّرة.

التطبيق المصغّر هو كائن مركّب يمكنه تمثيل أحد أنواع الكائنات، مثل النصوص والصور والأزرار وغيرها.

تمثيل JSON
{
  "horizontalAlignment": enum (HorizontalAlignment),

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "divider": {
    object (Divider)
  },
  "grid": {
    object (Grid)
  },
  "columns": {
    object (Columns)
  },
  "carousel": {
    object (Carousel)
  },
  "chipList": {
    object (ChipList)
  }
  // End of list of possible types for union field data.
}
الحقول
horizontalAlignment

enum (HorizontalAlignment)

تحدّد ما إذا كانت العناصر تتراصف إلى يسار العمود أو يمينه أو وسطه.

حقل الدمج data. يمكن أن تحتوي الأداة على عنصر واحد فقط من العناصر التالية. يمكنك استخدام حقول تطبيقات مصغّرة متعددة لعرض المزيد من العناصر. data يمكن أن تكون إحدى القيم التالية فقط:
textParagraph

object (TextParagraph)

تعرض فقرة نصية. يتوافق مع النصوص المنسَّقة بتنسيق HTML البسيط. لمزيد من المعلومات حول تنسيق النص، يُرجى الاطّلاع على تنسيق النص في تطبيقات Google Chat و تنسيق النص في إضافات Google Workspace.

على سبيل المثال، ينشئ ملف JSON التالي نصًا غامقًا:

"textParagraph": {
  "text": "  <b>bold text</b>"
}
image

object (Image)

تعرض هذه السمة صورة.

على سبيل المثال، ينشئ ملف JSON التالي صورة مع نص بديل:

"image": {
  "imageUrl":
  "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
  "altText": "Chat app avatar"
}
decoratedText

object (DecoratedText)

تعرِض هذه السمة عنصر نص مزخرفًا.

على سبيل المثال، ينشئ ملف JSON التالي أداة نص مزخرف تعرض عنوان البريد الإلكتروني:

"decoratedText": {
  "icon": {
    "knownIcon": "EMAIL"
  },
  "topLabel": "Email Address",
  "text": "sasha@example.com",
  "bottomLabel": "This is a new Email address!",
  "switchControl": {
    "name": "has_send_welcome_email_to_sasha",
    "selected": false,
    "controlType": "CHECKBOX"
  }
}
buttonList

object (ButtonList)

قائمة بالأزرار

على سبيل المثال، ينشئ رمز JSON التالي زرّين. الأول هو زر نصي أزرق والثاني هو زر صورة يفتح رابطًا:

"buttonList": {
  "buttons": [
    {
      "text": "Edit",
      "color": {
        "red": 0,
        "green": 0,
        "blue": 1,
      },
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}
textInput

object (TextInput)

تعرض هذه السمة مربّع نص يمكن للمستخدمين الكتابة فيه.

على سبيل المثال، ينشئ ملف JSON التالي حقل إدخال نص لعنوان بريد إلكتروني:

"textInput": {
  "name": "mailing_address",
  "label": "Mailing Address"
}

كمثال آخر، ينشئ JSON التالي حقل إدخال نص للغة برمجة مع اقتراحات ثابتة:

"textInput": {
  "name": "preferred_programing_language",
  "label": "Preferred Language",
  "initialSuggestions": {
    "items": [
      {
        "text": "C++"
      },
      {
        "text": "Java"
      },
      {
        "text": "JavaScript"
      },
      {
        "text": "Python"
      }
    ]
  }
}
selectionInput

object (SelectionInput)

تعرض عنصر تحكّم في الاختيار يتيح للمستخدمين تحديد عناصر. يمكن أن تكون عناصر التحكّم في التحديد مربّعات اختيار أو أزرار اختيار أو مفاتيح تبديل أو قوائم منسدلة.

على سبيل المثال، ينشئ رمز JSON التالي قائمة منسدلة تتيح للمستخدمين اختيار الحجم:

"selectionInput": {
  "name": "size",
  "label": "Size"
  "type": "DROPDOWN",
  "items": [
    {
      "text": "S",
      "value": "small",
      "selected": false
    },
    {
      "text": "M",
      "value": "medium",
      "selected": true
    },
    {
      "text": "L",
      "value": "large",
      "selected": false
    },
    {
      "text": "XL",
      "value": "extra_large",
      "selected": false
    }
  ]
}
dateTimePicker

object (DateTimePicker)

تعرض هذه السمة أداة تتيح للمستخدمين إدخال تاريخ أو وقت أو تاريخ ووقت.

على سبيل المثال، ينشئ ملف JSON التالي أداة اختيار التاريخ والوقت لجدولة موعد:

"dateTimePicker": {
  "name": "appointment_time",
  "label": "Book your appointment at:",
  "type": "DATE_AND_TIME",
  "valueMsEpoch": 796435200000
}
divider

object (Divider)

تعرِض هذه السمة خطًا أفقيًا يفصل بين التطبيقات المصغّرة.

على سبيل المثال، ينشئ ملف JSON التالي مقسّمًا:

"divider": {
}
grid

object (Grid)

تعرِض هذه السمة شبكة تحتوي على مجموعة من العناصر.

يمكن أن تحتوي الشبكة على أي عدد من الأعمدة والعناصر. يتم تحديد عدد الصفوف من خلال الحدود العليا لعدد العناصر مقسومًا على عدد الأعمدة. تحتوي الشبكة التي تضم 10 عناصر وعمودَين على 5 صفوف. تحتوي الشبكة التي تضم 11 عنصرًا وعمودَين على 6 صفوف.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

على سبيل المثال، ينشئ ملف JSON التالي شبكة من عمودَين تحتوي على عنصر واحد:

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
columns

object (Columns)

تعرِض ما يصل إلى عمودَين.

لتضمين أكثر من عمودَين أو لاستخدام الصفوف، استخدِم أداة Grid.

على سبيل المثال، ينشئ ملف JSON التالي عمودَين يحتوي كل منهما على فقرات نصية:

"columns": {
  "columnItems": [
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "First column text paragraph"
          }
        }
      ]
    },
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "Second column text paragraph"
          }
        }
      ]
    }
  ]
}
carousel

object (Carousel)

تحتوي لوحة العرض الدوّارة على مجموعة من التطبيقات المصغّرة المتداخلة. على سبيل المثال، هذا تمثيل JSON للوحة عرض دوّارة تحتوي على فقرتَين نصيتَين.

{
  "widgets": [
    {
      "textParagraph": {
        "text": "First text paragraph in the carousel."
      }
    },
    {
      "textParagraph": {
        "text": "Second text paragraph in the carousel."
      }
    }
  ]
}
chipList

object (ChipList)

قائمة بالشرائح

على سبيل المثال، ينشئ ملف JSON التالي شريحتَين. الأول عبارة عن شريحة نصية والثاني عبارة عن شريحة أيقونة تفتح رابطًا:

"chipList": {
  "chips": [
    {
      "text": "Edit",
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}

TextParagraph

فقرة نصية تتيح التنسيق للاطّلاع على مثال في تطبيقات Google Chat، راجِع إضافة فقرة من النص المنسَّق. لمزيد من المعلومات حول تنسيق النص، يُرجى الاطّلاع على تنسيق النص في تطبيقات Google Chat و تنسيق النص في إضافات Google Workspace.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "text": string,
  "maxLines": integer,
  "textSyntax": enum (TextSyntax)
}
الحقول
text

string

النص الذي يظهر في الأداة

maxLines

integer

الحد الأقصى لعدد أسطر النص التي يتم عرضها في الأداة إذا كان النص يتجاوز الحد الأقصى المحدّد لعدد الأسطر، يتم إخفاء المحتوى الزائد خلف زر عرض المزيد. إذا كان النص يساوي الحد الأقصى لعدد الأسطر المحدّد أو أقصر منه، لن يظهر الزر عرض المزيد.

القيمة التلقائية هي 0، وفي هذه الحالة يتم عرض كل السياق. يتم تجاهل القيم السلبية.

textSyntax

enum (TextSyntax)

بنية النص في حال عدم ضبط هذه السمة، سيتم عرض النص بتنسيق HTML.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

TextSyntax

بنية الجملة التي يجب استخدامها لتنسيق النص

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

عمليات التعداد
TEXT_SYNTAX_UNSPECIFIED يتم عرض النص بتنسيق HTML إذا لم يتم تحديد تنسيق آخر.
HTML يتم عرض النص بتنسيق HTML. هذه هي القيمة الافتراضية.
MARKDOWN يتم عرض النص بتنسيق Markdown.

صورة

صورة يحدّدها عنوان URL ويمكن أن تتضمّن إجراء onClick. للاطّلاع على مثال، راجِع مقالة إضافة صورة.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "imageUrl": string,
  "onClick": {
    object (OnClick)
  },
  "altText": string
}
الحقول
imageUrl

string

عنوان URL الخاص ببروتوكول HTTPS الذي يستضيف الصورة

على سبيل المثال:

https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
onClick

object (OnClick)

عندما ينقر المستخدم على الصورة، يؤدي النقر إلى تشغيل هذا الإجراء.

altText

string

النص البديل لهذه الصورة المستخدَم لتسهيل الاستخدام

OnClick

تمثّل هذه السمة كيفية الردّ عندما ينقر المستخدمون على عنصر تفاعلي في بطاقة، مثل زر.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{

  // Union field data can be only one of the following:
  "action": {
    object (Action)
  },
  "openLink": {
    object (OpenLink)
  },
  "openDynamicLinkAction": {
    object (Action)
  },
  "card": {
    object (Card)
  },
  "overflowMenu": {
    object (OverflowMenu)
  }
  // End of list of possible types for union field data.
}
الحقول

حقل الدمج data.

يمكن أن تكون data إحدى القيم التالية فقط:

action

object (Action)

في حال تحديدها، يتم تشغيل إجراء بواسطة onClick.

card

object (Card)

يتم إرسال بطاقة جديدة إلى حزمة البطاقات بعد النقر عليها إذا تم تحديد ذلك.

متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.

overflowMenu

object (OverflowMenu)

في حال تحديدها، سيؤدي ذلك إلى فتح قائمة كاملة.onClick

الإجراء

إجراء يصف السلوك عند إرسال النموذج. على سبيل المثال، يمكنك استدعاء نص برمجي في "برمجة تطبيقات Google" للتعامل مع النموذج. في حال تم تشغيل الإجراء، يتم إرسال قيم النموذج إلى الخادم.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "function": string,
  "parameters": [
    {
      object (ActionParameter)
    }
  ],
  "loadIndicator": enum (LoadIndicator),
  "persistValues": boolean,
  "interaction": enum (Interaction),
  "requiredWidgets": [
    string
  ],
  "allWidgetsAreRequired": boolean
}
الحقول
function

string

دالة مخصّصة يتم استدعاؤها عند النقر على العنصر الحاوي أو تنشيطه بأي طريقة أخرى.

للاطّلاع على مثال على الاستخدام، راجِع قراءة بيانات النموذج.

parameters[]

object (ActionParameter)

قائمة مَعلمات الإجراءات

loadIndicator

enum (LoadIndicator)

تحدّد مؤشر التحميل الذي يعرضه الإجراء أثناء تنفيذ طلب الإجراء.

persistValues

boolean

تشير إلى ما إذا كانت قيم النموذج تظل محفوظة بعد تنفيذ الإجراء. القيمة التلقائية هي false.

إذا كانت القيمة true، تظل قيم النموذج بعد تشغيل الإجراء. للسماح للمستخدم بإجراء تغييرات أثناء معالجة الإجراء، اضبط LoadIndicator على NONE. بالنسبة إلى رسائل البطاقات في تطبيقات المحادثة، عليك أيضًا ضبط ResponseType الإجراء على UPDATE_MESSAGE واستخدام cardId نفسه من البطاقة التي تتضمّن الإجراء.

في حال ضبط القيمة على false، يتم محو قيم النموذج عند بدء الإجراء. لمنع المستخدم من إجراء تغييرات أثناء معالجة الإجراء، اضبط قيمة LoadIndicator على SPINNER.

interaction

enum (Interaction)

اختيارية: مطلوبة عند فتح مربّع حوار.

الإجراء الذي يجب اتّخاذه استجابةً لتفاعل مع مستخدم، مثل نقر المستخدم على زر في رسالة بطاقة

في حال عدم تحديد ذلك، يستجيب التطبيق من خلال تنفيذ action —مثل فتح رابط أو تشغيل وظيفة—كالمعتاد.

من خلال تحديد interaction، يمكن للتطبيق الاستجابة بطرق تفاعلية خاصة. على سبيل المثال، من خلال ضبط interaction على OPEN_DIALOG، يمكن للتطبيق فتح مربع حوار. عند تحديد هذه السمة، لا يظهر مؤشر التحميل. إذا تم تحديدها لإحدى الإضافات، تتم إزالة البطاقة بأكملها ولا يتم عرض أي شيء في التطبيق.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

requiredWidgets[]

string

اختيارية: املأ هذه القائمة بأسماء الأدوات التي يحتاجها هذا الإجراء لإرسال طلب صالح.

إذا لم تتضمّن الأدوات المدرَجة هنا قيمة عند استدعاء هذا الإجراء، سيتم إلغاء إرسال النموذج.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

allWidgetsAreRequired

boolean

اختيارية: إذا كانت القيمة صحيحة، يعني ذلك أنّ هذا الإجراء يتطلّب توفّر جميع التطبيقات المصغّرة.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

ActionParameter

قائمة بمَعلمات السلسلة التي يجب توفيرها عند استدعاء طريقة الإجراء على سبيل المثال، فكِّر في ثلاثة أزرار تأجيل: التأجيل الآن أو التأجيل ليوم واحد أو التأجيل للأسبوع التالي. يمكنك استخدام action method = snooze()، مع تمرير نوع الغفوة ووقت الغفوة في قائمة مَعلمات السلسلة.

لمزيد من المعلومات، يُرجى الاطّلاع على CommonEventObject.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "key": string,
  "value": string
}
الحقول
key

string

اسم المَعلمة لبرنامج الإجراءات النصي.

value

string

قيمة المَعلمة

LoadIndicator

تحدّد مؤشر التحميل الذي يعرضه الإجراء أثناء تنفيذ طلب الإجراء.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

عمليات التعداد
SPINNER تعرِض هذه السمة عنصر تحميل دوّارًا للإشارة إلى أنّ المحتوى قيد التحميل.
NONE لا يتم عرض أي شيء.

التفاعل

اختيارية: مطلوبة عند فتح مربّع حوار.

الإجراء الذي يجب اتّخاذه استجابةً لتفاعل مع مستخدم، مثل نقر المستخدم على زر في رسالة بطاقة

في حال عدم تحديد ذلك، يستجيب التطبيق بتنفيذ action —مثل فتح رابط أو تنفيذ وظيفة—كالمعتاد.

من خلال تحديد interaction، يمكن للتطبيق الاستجابة بطرق تفاعلية خاصة. على سبيل المثال، من خلال ضبط interaction على OPEN_DIALOG، يمكن للتطبيق فتح مربع حوار.

عند تحديد هذه السمة، لا يظهر مؤشر التحميل. إذا تم تحديدها لإحدى الإضافات، تتم إزالة البطاقة بأكملها ولا يتم عرض أي شيء في التطبيق.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

عمليات التعداد
INTERACTION_UNSPECIFIED القيمة التلقائية يتم تنفيذ action على النحو المعتاد.
OPEN_DIALOG

يفتح مربّع حوار، وهو واجهة مستندة إلى البطاقات ومقسّمة إلى نوافذ تستخدمها تطبيقات Chat للتفاعل مع المستخدمين.

لا تتوفّر إلا لتطبيقات Chat عند النقر على أزرار في رسائل البطاقات. إذا تم تحديدها لإحدى الإضافات، تتم إزالة البطاقة بأكملها ولا يتم عرض أي شيء في التطبيق.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

OpenAs

عندما يفتح إجراء رابطًا، يمكن للعميل إما فتحه كنافذة بالحجم الكامل (إذا كان هذا هو الإطار الذي يستخدمه العميل)، أو كطبقة متراكبة (مثل نافذة منبثقة).OnClick يعتمد التنفيذ على إمكانات النظام الأساسي للعميل، وقد يتم تجاهل القيمة المحدّدة إذا كان العميل لا يتيحها. FULL_SIZE متوافق مع جميع البرامج.

متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.

عمليات التعداد
FULL_SIZE يتم فتح الرابط كنافذة بالحجم الكامل (إذا كان هذا هو الإطار الذي يستخدمه العميل).
OVERLAY يتم فتح الرابط كتراكب، مثل نافذة منبثقة.

OnClose

يتم تنفيذ هذا الإجراء عندما يتم إغلاق رابط تم فتحه من خلال إجراء OnClick.

تعتمد عملية التنفيذ على إمكانات النظام الأساسي للعميل. على سبيل المثال، قد يفتح متصفّح ويب رابطًا في نافذة منبثقة باستخدام معالج OnClose.

في حال ضبط كل من معالجَي OnOpen وOnClose، وتعذّر على منصة العميل دعم كلتا القيمتَين، تكون الأولوية لمعالج OnClose.

متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.

عمليات التعداد
NOTHING القيمة التلقائية لا تتم إعادة تحميل البطاقة، ولا يحدث أي شيء.
RELOAD

تعيد تحميل البطاقة بعد إغلاق النافذة الفرعية.

في حال استخدامها مع OpenAs.OVERLAY، تعمل النافذة الفرعية كمربّع حوار مشروط ويتم حظر البطاقة الرئيسية إلى أن يتم إغلاق النافذة الفرعية.

OverflowMenu

أداة تعرض قائمة منبثقة تتضمّن إجراءً واحدًا أو أكثر يمكن للمستخدمين تنفيذه. على سبيل المثال، عرض إجراءات غير أساسية في بطاقة يمكنك استخدام هذه الأداة عندما لا تتناسب الإجراءات مع المساحة المتاحة. لاستخدام هذه السمة، حدِّد التطبيق المصغّر في OnClick الإجراء الخاص بالتطبيقات المصغّرة التي تتوافق معها. على سبيل المثال، في Button.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "items": [
    {
      object (OverflowMenuItem)
    }
  ]
}
الحقول
items[]

object (OverflowMenuItem)

مطلوب. قائمة خيارات القائمة

OverflowMenuItem

خيار يمكن للمستخدمين استخدامه في قائمة الخيارات الكاملة

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "startIcon": {
    object (Icon)
  },
  "text": string,
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean
}
الحقول
startIcon

object (Icon)

الأيقونة المعروضة أمام النص

text

string

مطلوب. النص الذي يحدّد السلعة أو يصفها للمستخدمين

onClick

object (OnClick)

مطلوب. الإجراء الذي يتم تنفيذه عند تحديد أحد خيارات القائمة. لا يمكن أن يحتوي هذا OnClick على OverflowMenu، ويتم تجاهل أي OverflowMenu محدّد ويتم إيقاف عنصر القائمة.

disabled

boolean

تحديد ما إذا كان خيار القائمة غير مفعَّل. القيمة التلقائية هي "خطأ".

رمز

رمز معروض في أداة على بطاقة للاطّلاع على مثال في تطبيقات Google Chat، يُرجى الانتقال إلى إضافة رمز.

يتيح استخدام الرموز المضمّنة والمخصّصة.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "altText": string,
  "imageType": enum (ImageType),

  // Union field icons can be only one of the following:
  "knownIcon": string,
  "iconUrl": string,
  "materialIcon": {
    object (MaterialIcon)
  }
  // End of list of possible types for union field icons.
}
الحقول
altText

string

اختيارية: وصف للرمز المستخدَم لتسهيل الاستخدام إذا لم يتم تحديدها، يتم تقديم القيمة التلقائية Button. كأفضل ممارسة، يجب ضبط وصف مفيد لما يعرضه الرمز، وما يفعله إن كان ذلك منطبقًا. على سبيل المثال، A user's account portrait أو Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat.

إذا تم ضبط الرمز في Button، سيظهر altText كنص مساعِد عندما يمرّر المستخدم مؤشر الماوس فوق الزر. ومع ذلك، إذا كان الزر يضبط أيضًا text، سيتم تجاهل altText الخاص بالرمز.

imageType

enum (ImageType)

نمط الاقتصاص المُطبَّق على الصورة. في بعض الحالات، يؤدي تطبيق عملية قص إلى عرض الصورة بحجم أكبر من الرمز المضمّن.CIRCLE

حقل الدمج icons. الرمز المعروض في الأداة على البطاقة icons يمكن أن تكون إحدى القيم التالية فقط:
knownIcon

string

عرض إحدى الأيقونات المضمّنة التي توفّرها Google Workspace

على سبيل المثال، لعرض رمز طائرة، حدِّد AIRPLANE. بالنسبة إلى الحافلة، حدِّد السمة BUS.

للحصول على قائمة كاملة بالرموز المتوافقة، راجِع الرموز المضمّنة.

iconUrl

string

عرض رمز مخصّص مستضاف على عنوان URL يستخدم HTTPS

على سبيل المثال:

"iconUrl":
"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png"

تشمل أنواع الملفات المتوافقة .png و .jpg.

materialIcon

object (MaterialIcon)

عرض أحد رموز Google Material

على سبيل المثال، لعرض رمز مربّع اختيار، استخدِم

"materialIcon": {
  "name": "check_box"
}

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

MaterialIcon

أ رمز Google Material، الذي يتضمّن أكثر من 2500 خيار

على سبيل المثال، لعرض رمز مربّع الاختيار بوزن ودرجة مخصّصَين، اكتب ما يلي:

{
  "name": "check_box",
  "fill": true,
  "weight": 300,
  "grade": -25
}

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

تمثيل JSON
{
  "name": string,
  "fill": boolean,
  "weight": integer,
  "grade": integer
}
الحقول
name

string

اسم الرمز المحدّد في Google Material Icon، على سبيل المثال، check_box. يتم تجاهل أي أسماء غير صالحة واستبدالها بسلسلة فارغة، ما يؤدي إلى تعذُّر عرض الرمز.

fill

boolean

تحديد ما إذا كان الرمز سيظهر ممتلئًا القيمة التلقائية هي "خطأ".

لمعاينة إعدادات الرموز المختلفة، انتقِل إلى رموز خطوط Google واضبط الإعدادات ضمن تخصيص.

weight

integer

كثافة خط الرمز اختَر من بين {100, 200, 300, 400, 500, 600, 700}. إذا لم يتم تحديدها، تكون القيمة التلقائية 400. في حال تحديد أي قيمة أخرى، يتم استخدام القيمة التلقائية.

لمعاينة إعدادات الرموز المختلفة، انتقِل إلى رموز خطوط Google واضبط الإعدادات ضمن تخصيص.

grade

integer

يؤثر الوزن والدرجة في سُمك الرمز. تكون التعديلات على الدرجة أكثر تفصيلاً من التعديلات على الوزن، كما أنّها تؤثر بشكل بسيط على حجم الرمز. اختَر من بين القيم {-25, 0, 200}. في حال عدم توفّرها، تكون القيمة التلقائية 0. في حال تحديد أي قيمة أخرى، يتم استخدام القيمة التلقائية.

لمعاينة إعدادات الرموز المختلفة، انتقِل إلى رموز خطوط Google واضبط الإعدادات ضمن تخصيص.

DecoratedText

أداة تعرض نصًا مع زخارف اختيارية، مثل تصنيف أعلى النص أو أسفله، أو رمز أمام النص، أو أداة اختيار، أو زر بعد النص. للاطّلاع على مثال في تطبيقات Google Chat، يُرجى الانتقال إلى عرض نص باستخدام نص مزخرف.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "icon": {
    object (Icon)
  },
  "startIcon": {
    object (Icon)
  },
  "startIconVerticalAlignment": enum (VerticalAlignment),
  "topLabel": string,
  "topLabelText": {
    object (TextParagraph)
  },
  "text": string,
  "contentText": {
    object (TextParagraph)
  },
  "wrapText": boolean,
  "bottomLabel": string,
  "bottomLabelText": {
    object (TextParagraph)
  },
  "onClick": {
    object (OnClick)
  },

  // Union field control can be only one of the following:
  "button": {
    object (Button)
  },
  "switchControl": {
    object (SwitchControl)
  },
  "endIcon": {
    object (Icon)
  }
  // End of list of possible types for union field control.
}
الحقول
icon
(deprecated)

object (Icon)

تم إيقاف هذا الحقل نهائيًا واستبداله بالحقل startIcon.

startIcon

object (Icon)

الأيقونة المعروضة أمام النص

startIconVerticalAlignment

enum (VerticalAlignment)

اختيارية: المحاذاة العمودية لرمز البدء في حال عدم ضبط هذه السمة، سيتم توسيط الرمز عموديًا.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

topLabel

string

النص الذي يظهر فوق text. يتم اقتطاعها دائمًا.

topLabelText

object (TextParagraph)

TextParagraph تعادل topLabel. يتم اقتطاعها دائمًا. يسمح بتنسيق أكثر تعقيدًا من topLabel.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

text

string

مطلوب. النص الأساسي

يتيح التنسيق البسيط. لمزيد من المعلومات حول تنسيق النص، يُرجى الاطّلاع على تنسيق النص في تطبيقات Google Chat و تنسيق النص في إضافات Google Workspace.

contentText

object (TextParagraph)

TextParagraph تعادل text. يسمح بتنسيق أكثر تعقيدًا من text.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

wrapText

boolean

إعداد التفاف النص إذا كانت القيمة true، يتم التفاف النص وعرضه على عدة أسطر. وإلا سيتم اقتطاع النص.

ينطبق هذا التغيير على text فقط، وليس على topLabel وbottomLabel.

bottomLabel

string

النص الذي يظهر أسفل text التفاف دائمًا

bottomLabelText

object (TextParagraph)

TextParagraph تعادل bottomLabel. التفاف دائمًا يسمح بتنسيق أكثر تعقيدًا من bottomLabel.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

onClick

object (OnClick)

يتم تشغيل هذا الإجراء عندما ينقر المستخدمون على topLabel أو bottomLabel.

حقل الدمج control. زر أو مفتاح تبديل أو مربّع اختيار أو صورة تظهر على الجانب الأيسر من النص في الأداة decoratedText. control يمكن أن تكون إحدى القيم التالية فقط:
button

object (Button)

زر يمكن للمستخدم النقر عليه لتنفيذ إجراء.

switchControl

object (SwitchControl)

أداة تبديل يمكن للمستخدم النقر عليها لتغيير حالتها وتنفيذ إجراء.

endIcon

object (Icon)

رمز معروض بعد النص

يتيح استخدام الرموز المضمّنة والمخصّصة.

VerticalAlignment

تمثّل هذه السمة المحاذاة العمودية.

عمليات التعداد
VERTICAL_ALIGNMENT_UNSPECIFIED نوع غير محدَّد لا تستخدم هذه السمة.
TOP المحاذاة إلى الموضع العلوي
MIDDLE المحاذاة إلى الموضع الأوسط
BOTTOM المحاذاة إلى الموضع السفلي

زرّ

زر يتضمّن نصًا أو رمزًا أو نصًا ورمزًا ويمكن للمستخدمين النقر عليه للاطّلاع على مثال في تطبيقات Google Chat، يُرجى الرجوع إلى إضافة زر.

لتحويل صورة إلى زر قابل للنقر، حدِّد Image (وليس ImageComponent) واضبط إجراء onClick.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "text": string,
  "icon": {
    object (Icon)
  },
  "color": {
    object (Color)
  },
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean,
  "altText": string,
  "type": enum (Type)
}
الحقول
text

string

النص المعروض داخل الزر.

icon

object (Icon)

رمز معروض داخل الزر إذا تم ضبط كل من icon و text، سيظهر الرمز قبل النص.

color

object (Color)

اختيارية: لون الزر في حال ضبط هذا الخيار، سيتم ضبط الزر type على FILLED وسيتم ضبط لون الحقلَين text و icon على لون متباين لتحسين مقروئية النص. على سبيل المثال، إذا تم ضبط لون الزر على الأزرق، سيتم ضبط أي نص أو رموز في الزر على الأبيض.

لضبط لون الزر، حدِّد قيمة للحقول red وgreen وblue. يجب أن تكون القيمة رقمًا عشريًا بين 0 و1 استنادًا إلى قيمة لون الأحمر والأخضر والأزرق، حيث 0 (0/255) يمثّل عدم توفّر اللون، 1 (255/255) يمثّل الحد الأقصى لشدة اللون.

على سبيل المثال، يضبط ما يلي اللون على الأحمر بأقصى درجة سطوع:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

الحقل alpha غير متاح للون الزر. يتم تجاهل هذا الحقل في حال تحديده.

onClick

object (OnClick)

مطلوب. الإجراء المطلوب تنفيذه عندما ينقر المستخدم على الزر، مثل فتح ارتباط تشعّبي أو تنفيذ دالة مخصّصة

disabled

boolean

إذا كانت القيمة true، سيظهر الزر في حالة غير نشطة ولن يستجيب لإجراءات المستخدم.

altText

string

النص البديل المستخدَم لتسهيل الاستخدام

اضبط نصًا وصفيًا يتيح للمستخدمين معرفة وظيفة الزر. على سبيل المثال، إذا كان الزر يفتح ارتباطًا تشعبيًا، يمكنك كتابة ما يلي: "يفتح علامة تبويب جديدة في المتصفّح وينتقِل إلى مستندات المطوّرين في Google Chat على الرابط https://developers.google.com/workspace/chat".

type

enum (Type)

اختيارية: تمثّل هذه السمة نوع الزر. إذا لم يتم ضبط نوع الزر، سيتم ضبطه تلقائيًا على OUTLINED. في حال ضبط الحقل color ، يتم فرض نوع الزر على FILLED ويتم تجاهل أي قيمة تم ضبطها لهذا الحقل.

اللون

تمثّل هذه السمة لونًا في مساحة الألوان RGBA. تم تصميم هذا التمثيل ليكون بسيطًا عند التحويل من وإلى تمثيلات الألوان بلغات مختلفة، مع التركيز على البساطة أكثر من التركيز على الحجم الصغير. على سبيل المثال، يمكن توفير حقول هذا التمثيل بشكل بسيط للدالة الإنشائية الخاصة بـ java.awt.Color في Java، ويمكن أيضًا توفيرها بشكل بسيط لطريقة +colorWithRed:green:blue:alpha في UIColor على نظام التشغيل iOS، ويمكن تنسيقها بسهولة في سلسلة rgba() في CSS باستخدام JavaScript.

لا تحتوي صفحة المرجع هذه على معلومات حول مساحة الألوان المطلقة التي يجب استخدامها لتفسير قيمة الأحمر والأخضر والأزرق، مثل sRGB وAdobe RGB وDCI-P3 وBT.2020. يجب أن تفترض التطبيقات تلقائيًا مساحة الألوان sRGB.

عند الحاجة إلى تحديد تساوي الألوان، تتعامل عمليات التنفيذ مع لونين على أنّهما متساويان إذا كان الفرق بين قيم اللون الأحمر والأخضر والأزرق وقيمة ألفا لكل منهما لا يتجاوز 1e-5، ما لم يتم توثيق خلاف ذلك.

مثال (Java):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

مثال (iOS / Obj-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

مثال (JavaScript):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
تمثيل JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
الحقول
red

number

تمثّل هذه السمة مقدار اللون الأحمر في اللون كقيمة في الفاصل الزمني [0, 1].

green

number

مقدار اللون الأخضر في اللون كقيمة في الفترة [0, 1]

blue

number

تمثّل هذه السمة مقدار اللون الأزرق في اللون كقيمة في الفاصل الزمني [0, 1].

alpha

number

تمثّل هذه السمة جزء اللون الذي يجب تطبيقه على البكسل. أي أنّ لون البكسل النهائي يتم تحديده من خلال المعادلة التالية:

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

هذا يعني أنّ القيمة 1.0 تتوافق مع لون ثابت، بينما تتوافق القيمة 0.0 مع لون شفاف تمامًا. يستخدم هذا النوع رسالة غلاف بدلاً من عدد عشري بسيط، وذلك حتى يمكن التمييز بين القيمة التلقائية والقيمة التي لم يتم ضبطها. في حال حذفها، يتم عرض عنصر اللون هذا كلون ثابت (كما لو تم منح قيمة ألفا صراحةً القيمة 1.0).

النوع

اختيارية: تمثّل هذه السمة نوع الزر. في حال ضبط الحقل color، سيتم فرض القيمة FILLED على الحقل type.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

عمليات التعداد
TYPE_UNSPECIFIED لا تستخدِمها. غير محدد
OUTLINED الأزرار المحدَّدة الجوانب هي أزرار ذات أهمية متوسطة. وتتضمّن عادةً إجراءات مهمة، ولكنّها ليست الإجراء الأساسي في تطبيق Chat أو إضافة.
FILLED يحتوي الزر المعبأ على حاوية بلون خالص. ويُعدّ هذا الزر الأكثر تأثيرًا من الناحية المرئية، ويُنصح باستخدامه للإجراءات المهمة والرئيسية في تطبيق Chat أو إضافة.
FILLED_TONAL زر التعبئة اللونية هو حل وسط بديل بين الزرَّين المعبأ والمخطّط. تكون هذه الأزرار مفيدة في السياقات التي يتطلّب فيها الزر ذو الأولوية المنخفضة تركيزًا أكبر قليلاً مما يوفّره الزر ذو المخطّط التفصيلي.
BORDERLESS لا يحتوي الزر على حاوية غير مرئية في حالته التلقائية. يُستخدَم غالبًا للإجراءات ذات الأولوية الأدنى، خاصةً عند عرض خيارات متعدّدة.

عنصر تحكم التبديل

إما مفتاح تبديل أو مربّع اختيار داخل أداة decoratedText

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تتوفّر هذه الميزة في أداة decoratedText فقط.

تمثيل JSON
{
  "name": string,
  "value": string,
  "selected": boolean,
  "onChangeAction": {
    object (Action)
  },
  "controlType": enum (ControlType)
}
الحقول
name

string

الاسم الذي يتم من خلاله تحديد أداة التبديل في حدث إدخال نموذج.

للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج.

value

string

القيمة التي أدخلها المستخدم، ويتم عرضها كجزء من حدث إدخال نموذج.

للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج.

selected

boolean

عندما تكون القيمة true، يتم اختيار مفتاح التبديل.

onChangeAction

object (Action)

الإجراء الذي سيتم تنفيذه عند تغيير حالة مفتاح التبديل، مثل الدالة التي سيتم تشغيلها

controlType

enum (ControlType)

طريقة ظهور مفتاح التبديل في واجهة المستخدم

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

ControlType

طريقة ظهور مفتاح التبديل في واجهة المستخدم

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

عمليات التعداد
SWITCH مفتاح تبديل بنمط زر الإيقاف/التشغيل
CHECKBOX تم إيقاف هذا الحقل نهائيًا واستبداله بالحقل CHECK_BOX.
CHECK_BOX مربّع اختيار

ButtonList

قائمة بأزرار مرتبة أفقيًا للاطّلاع على مثال في تطبيقات Google Chat، يُرجى الرجوع إلى إضافة زر.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "buttons": [
    {
      object (Button)
    }
  ]
}
الحقول
buttons[]

object (Button)

مصفوفة من الأزرار

TextInput

حقل يمكن للمستخدمين إدخال نص فيه يتيح الاقتراحات والإجراءات عند التغيير. يتيح التحقّق من صحة عمليات إرسال النماذج. عند ضبط Action.all_widgets_are_required على true أو تحديد هذه الأداة في Action.required_widgets، يتم حظر إجراء الإرسال ما لم يتم إدخال قيمة. للاطّلاع على مثال في تطبيقات Google Chat، راجِع إضافة حقل يمكن للمستخدم إدخال نص فيه.

تتلقّى تطبيقات المحادثة قيمة النص الذي تم إدخاله ويمكنها معالجته أثناء أحداث إدخال النموذج. لمزيد من التفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج.

عندما تحتاج إلى جمع بيانات غير محدّدة أو مجرّدة من المستخدمين، استخدِم حقل إدخال نصي. لجمع بيانات محدّدة أو مُعدَّدة من المستخدمين، استخدِم أداة SelectionInput.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "name": string,
  "label": string,
  "hintText": string,
  "value": string,
  "type": enum (Type),
  "onChangeAction": {
    object (Action)
  },
  "initialSuggestions": {
    object (Suggestions)
  },
  "autoCompleteAction": {
    object (Action)
  },
  "validation": {
    object (Validation)
  },
  "placeholderText": string
}
الحقول
name

string

الاسم الذي يتم من خلاله تحديد إدخال النص في حدث إدخال نموذج.

للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج.

label

string

النص الذي يظهر فوق حقل إدخال النص في واجهة المستخدم

حدِّد النص الذي يساعد المستخدم في إدخال المعلومات التي يحتاجها تطبيقك. على سبيل المثال، إذا كنت تسأل عن اسم شخص ما، ولكنك تحتاج تحديدًا إلى اسم عائلته، اكتب surname بدلاً من name.

هذه السمة مطلوبة إذا لم يتم تحديد السمة hintText. في الحالات الأخرى، يكون الأمر اختياريًا.

hintText

string

النص الذي يظهر أسفل حقل إدخال النص والمخصّص لمساعدة المستخدمين من خلال مطالبتهم بإدخال قيمة معيّنة يظهر هذا النص دائمًا.

هذه السمة مطلوبة إذا لم يتم تحديد السمة label. في الحالات الأخرى، يكون الأمر اختياريًا.

value

string

القيمة التي أدخلها المستخدم، ويتم عرضها كجزء من حدث إدخال نموذج.

للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج.

type

enum (Type)

طريقة ظهور حقل إدخال النص في واجهة المستخدم على سبيل المثال، ما إذا كان الحقل سطرًا واحدًا أو عدة أسطر.

onChangeAction

object (Action)

الإجراء الذي يجب اتّخاذه عند حدوث تغيير في حقل إدخال النص على سبيل المثال، إضافة مستخدم إلى الحقل أو حذف نص.

تشمل الأمثلة على الإجراءات التي يمكن اتّخاذها تنفيذ وظيفة مخصّصة أو فتح مربّع حوار في Google Chat.

initialSuggestions

object (Suggestions)

القيم المقترَحة التي يمكن للمستخدمين إدخالها تظهر هذه القيم عندما ينقر المستخدمون داخل حقل إدخال النص. أثناء الكتابة، تتم فلترة القيم المقترَحة بشكل ديناميكي لتتطابق مع ما كتبه المستخدمون.

على سبيل المثال، قد يقترح حقل إدخال نصي خاص بلغة البرمجة Java وJavaScript وPython وC++. وعندما يبدأ المستخدمون في كتابة Jav، يتم فلترة قائمة الاقتراحات لعرض Java و JavaScript فقط.

تساعد القيم المقترَحة في توجيه المستخدمين لإدخال قيم يمكن لتطبيقك فهمها. عند الإشارة إلى JavaScript، قد يكتب بعض المستخدمين javascript بينما يكتب آخرون java script. يمكن أن يؤدي اقتراح JavaScript إلى توحيد طريقة تفاعل المستخدمين مع تطبيقك.

عند تحديدها، تكون قيمة TextInput.type دائمًا SINGLE_LINE، حتى إذا تم ضبطها على MULTIPLE_LINE.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

autoCompleteAction

object (Action)

اختيارية: تحديد الإجراء الذي يجب اتّخاذه عندما يقدّم حقل إدخال النص اقتراحات للمستخدمين الذين يتفاعلون معه

إذا لم يتم تحديدها، يتم ضبط الاقتراحات من خلال initialSuggestions ويتم معالجتها من خلال العميل.

إذا تم تحديد ذلك، يتّخذ التطبيق الإجراء المحدّد هنا، مثل تنفيذ دالة مخصّصة.

متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.

validation

object (Validation)

تحديد التحقّق من صحة تنسيق الإدخال المطلوب لحقل النص هذا

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

placeholderText

string

النص الذي يظهر في حقل إدخال النص عندما يكون الحقل فارغًا استخدِم هذا النص لحثّ المستخدمين على إدخال قيمة. على سبيل المثال، Enter a number from 0 to 100.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

النوع

طريقة ظهور حقل إدخال النص في واجهة المستخدم على سبيل المثال، ما إذا كان حقل إدخال بسطر واحد أو حقل إدخال متعدد الأسطر. في حال تحديد initialSuggestions، تكون قيمة type دائمًا SINGLE_LINE، حتى إذا تم ضبطها على MULTIPLE_LINE.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

عمليات التعداد
SINGLE_LINE يبلغ الارتفاع الثابت لحقل إدخال النص سطرًا واحدًا.
MULTIPLE_LINE يحتوي حقل إدخال النص على ارتفاع ثابت لعدة أسطر.

RenderActions

مجموعة من تعليمات العرض التي تطلب من البطاقة تنفيذ إجراء، أو تطلب من التطبيق المضيف للإضافة أو تطبيق Chat تنفيذ إجراء خاص بالتطبيق

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

الحقول
action

Action

الإجراء

الحقول
navigations[]

Navigation

إرسال بطاقة أو عرضها أو تعديلها

الإضافات في Google Chat

إضافة بطاقة جديدة إلى الحزمة (التنقّل للأمام) بالنسبة إلى تطبيقات Chat، تتوفّر هذه الميزة فقط في الصفحة الرئيسية للتطبيق.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

navigations: {
  pushCard: CARD
}

استبدِل البطاقة العلوية ببطاقة جديدة. بالنسبة إلى تطبيقات Chat، تتوفّر هذه الميزة فقط في الصفحة الرئيسية للتطبيق.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

navigations: {
  updateCard: CARD
}

اقتراحات

القيم المقترَحة التي يمكن للمستخدمين إدخالها تظهر هذه القيم عندما ينقر المستخدمون داخل حقل إدخال النص. أثناء الكتابة، تتم فلترة القيم المقترَحة بشكل ديناميكي لتتطابق مع ما كتبه المستخدمون.

على سبيل المثال، قد يقترح حقل إدخال نص خاص بلغة برمجة Java وJavaScript وPython وC++. وعندما يبدأ المستخدمون في كتابة Jav، يتم فلترة قائمة الاقتراحات لعرض Java و JavaScript.

تساعد القيم المقترَحة في توجيه المستخدمين لإدخال قيم يمكن لتطبيقك فهمها. عند الإشارة إلى JavaScript، قد يكتب بعض المستخدمين javascript بينما يكتب آخرون java script. يمكن أن يؤدي اقتراح JavaScript إلى توحيد طريقة تفاعل المستخدمين مع تطبيقك.

عند تحديدها، تكون قيمة TextInput.type دائمًا SINGLE_LINE، حتى إذا تم ضبطها على MULTIPLE_LINE.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "items": [
    {
      object (SuggestionItem)
    }
  ]
}
الحقول
items[]

object (SuggestionItem)

قائمة بالاقتراحات المستخدَمة في اقتراحات الإكمال التلقائي في حقول إدخال النص

SuggestionItem

قيمة مقترَحة يمكن للمستخدمين إدخالها في حقل إدخال نصي

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{

  // Union field content can be only one of the following:
  "text": string
  // End of list of possible types for union field content.
}
الحقول

حقل الدمج content.

يمكن أن تكون content إحدى القيم التالية فقط:

text

string

قيمة الإدخال المقترَح في حقل إدخال نصي وهذا يعادل ما يدخله المستخدمون بأنفسهم.

التحقّق من الصحة

تمثّل هذه السمة البيانات اللازمة للتحقّق من صحة العنصر المرتبط بها.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "characterLimit": integer,
  "inputType": enum (InputType)
}
الحقول
characterLimit

integer

تحديد الحد الأقصى لعدد الأحرف في أدوات إدخال النص يُرجى العِلم أنّ هذا الخيار يُستخدم فقط لإدخال النص ويتم تجاهله بالنسبة إلى التطبيقات المصغّرة الأخرى.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

inputType

enum (InputType)

حدِّد نوع أدوات الإدخال.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

InputType

نوع أداة الإدخال.

عمليات التعداد
INPUT_TYPE_UNSPECIFIED نوع غير محدَّد لا تستخدم هذه السمة.
TEXT نص عادي يقبل جميع الأحرف
INTEGER قيمة عدد صحيح
FLOAT قيمة عائمة
EMAIL عنوان بريد إلكتروني
EMOJI_PICKER إيموجي تم اختياره من أداة اختيار الإيموجي التي يوفّرها النظام

SelectionInput

تطبيق مصغّر ينشئ عنصرًا واحدًا أو أكثر من عناصر واجهة المستخدِم التي يمكن للمستخدمين اختيارها. تتيح هذه السمة التحقّق من صحة عمليات إرسال النماذج لقوائم dropdown وmultiselect فقط. عند ضبط Action.all_widgets_are_required على true أو تحديد هذه الأداة في Action.required_widgets، يتم حظر إجراء الإرسال ما لم يتم تحديد قيمة. على سبيل المثال، قائمة منسدلة أو مربّعات اختيار. يمكنك استخدام هذه الأداة لجمع البيانات التي يمكن توقّعها أو تعدادها. للاطّلاع على مثال في تطبيقات Google Chat، راجِع مقالة إضافة عناصر واجهة مستخدم قابلة للتحديد.

يمكن لتطبيقات المحادثة معالجة قيمة العناصر التي يختارها المستخدمون أو يدخلونها. لمزيد من التفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج.

لجمع بيانات غير محدّدة أو مجرّدة من المستخدمين، استخدِم أداة TextInput

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "name": string,
  "label": string,
  "type": enum (SelectionType),
  "items": [
    {
      object (SelectionItem)
    }
  ],
  "onChangeAction": {
    object (Action)
  },
  "multiSelectMaxSelectedItems": integer,
  "multiSelectMinQueryLength": integer,

  // Union field multi_select_data_source can be only one of the following:
  "externalDataSource": {
    object (Action)
  },
  "platformDataSource": {
    object (PlatformDataSource)
  }
  // End of list of possible types for union field multi_select_data_source.
}
الحقول
name

string

مطلوب. الاسم الذي يحدّد إدخال التحديد في حدث إدخال نموذج.

للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج.

label

string

النص الذي يظهر فوق حقل إدخال الاختيار في واجهة المستخدم

حدِّد النص الذي يساعد المستخدم في إدخال المعلومات التي يحتاجها تطبيقك. على سبيل المثال، إذا كان المستخدمون يختارون مدى إلحاح طلب عمل من قائمة منسدلة، قد يكون التصنيف "مدى الإلحاح" أو "اختيار مدى الإلحاح".

type

enum (SelectionType)

تمثّل هذه السمة نوع العناصر التي يتم عرضها للمستخدمين في أداة.SelectionInput تتيح أنواع التحديد أنواعًا مختلفة من التفاعلات. على سبيل المثال، يمكن للمستخدمين اختيار مربّع اختيار واحد أو أكثر، ولكن يمكنهم اختيار قيمة واحدة فقط من قائمة منسدلة.

items[]

object (SelectionItem)

مصفوفة من العناصر القابلة للاختيار على سبيل المثال، مصفوفة من أزرار الاختيار أو مربّعات الاختيار. يمكن أن يتضمّن ما يصل إلى 100 عنصر.

onChangeAction

object (Action)

في حال تحديدها، يتم إرسال النموذج عند تغيير الاختيار. في حال عدم تحديد ذلك، يجب تحديد زرّ منفصل لإرسال النموذج.

للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج.

multiSelectMaxSelectedItems

integer

بالنسبة إلى القوائم المتعددة الاختيارات، الحد الأقصى لعدد العناصر التي يمكن للمستخدم اختيارها. الحد الأدنى للقيمة هو سلعة واحدة. إذا لم يتم تحديد عدد، يكون العدد التلقائي 3 عناصر.

multiSelectMinQueryLength

integer

بالنسبة إلى قوائم الاختيار المتعدد، يمثّل هذا الحقل عدد أحرف النص التي يُدخلها المستخدم قبل أن تعرض القائمة عناصر الاختيار المقترَحة.

في حال عدم ضبطها، تستخدم قائمة الاختيار المتعدد القيم التلقائية التالية:

  • إذا كانت القائمة تستخدم مصفوفة ثابتة من SelectionInput العناصر، تكون القيمة التلقائية 0 حرف ويتم ملء العناصر من المصفوفة على الفور.
  • إذا كانت القائمة تستخدم مصدر بيانات ديناميكيًا ( multi_select_data_source)، سيتم تلقائيًا استخدام 3 أحرف قبل طلب البحث من مصدر البيانات لعرض العناصر المقترَحة.

حقل الدمج multi_select_data_source. بالنسبة إلى قائمة اختيار متعدّد، مصدر بيانات يملأ عناصر الاختيار بشكل ديناميكي.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace. يمكن أن تكون multi_select_data_source إحدى القيم التالية فقط:

externalDataSource

object (Action)

مصدر بيانات خارجي، مثل قاعدة بيانات ارتباطية

platformDataSource

object (PlatformDataSource)

مصدر بيانات من Google Workspace

SelectionType

تنسيق العناصر التي يمكن للمستخدمين اختيارها تتيح الخيارات المختلفة أنواعًا مختلفة من التفاعلات. على سبيل المثال، يمكن للمستخدمين وضع علامة في مربّعات اختيار متعدّدة، ولكن يمكنهم اختيار عنصر واحد فقط من قائمة منسدلة.

يتيح كل حقل إدخال اختيار نوعًا واحدًا من الاختيارات. على سبيل المثال، لا يمكن الجمع بين مربّعات الاختيار وأزرار التبديل.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

عمليات التعداد
CHECK_BOX مجموعة من مربّعات الاختيار يمكن للمستخدمين وضع علامة في مربّع اختيار واحد أو أكثر.
RADIO_BUTTON مجموعة من أزرار الاختيار يمكن للمستخدمين تحديد زر اختيار واحد.
SWITCH مجموعة من مفاتيح الإضاءة يمكن للمستخدمين تفعيل مفتاح تحكّم واحد أو أكثر.
DROPDOWN قائمة منسدلة يمكن للمستخدمين اختيار عنصر واحد من القائمة.
MULTI_SELECT

قائمة تتضمّن مربّع نص يمكن للمستخدمين كتابة كلمة واحدة أو أكثر واختيارها. بالنسبة إلى إضافات Google Workspace، يجب ملء العناصر باستخدام مصفوفة ثابتة من SelectionItem الكائنات.

بالنسبة إلى تطبيقات Google Chat، يمكنك أيضًا ملء العناصر باستخدام مصدر بيانات ديناميكي واقتراح العناصر تلقائيًا أثناء كتابة المستخدمين في القائمة. على سبيل المثال، يمكن للمستخدمين البدء في كتابة اسم مساحة Google Chat، وستقترح الأداة المساحة تلقائيًا. لملء عناصر قائمة اختيار متعدّد بشكل ديناميكي، استخدِم أحد أنواع مصادر البيانات التالية:

  • بيانات Google Workspace: تتم تعبئة العناصر باستخدام بيانات من Google Workspace، مثل مستخدمي Google Workspace أو مساحات Google Chat.
  • البيانات الخارجية: يتم ملء العناصر من مصدر بيانات خارجي خارج Google Workspace.

للاطّلاع على أمثلة حول كيفية تنفيذ قوائم اختيار متعدّد لتطبيقات Chat، يُرجى الاطّلاع على إضافة قائمة اختيار متعدّد.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

SelectionItem

عنصر يمكن للمستخدمين اختياره في حقل إدخال اختيار، مثل مربّع اختيار أو مفتاح تحكّم. يمكن أن يتضمّن ما يصل إلى 100 عنصر.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "text": string,
  "value": string,
  "selected": boolean,
  "bottomText": string,

  // Union field start_icon can be only one of the following:
  "startIconUri": string
  // End of list of possible types for union field start_icon.
}
الحقول
text

string

النص الذي يحدّد السلعة أو يصفها للمستخدمين

value

string

تمثّل هذه السمة القيمة المرتبطة بهذا العنصر. على العميل استخدام هذا المعرّف كقيمة إدخال في النموذج.

للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج.

selected

boolean

تُستخدَم لتحديد ما إذا كان العنصر محدَّدًا تلقائيًا. إذا كان عنصر الإدخال المحدد يقبل قيمة واحدة فقط (مثل أزرار الاختيار أو القائمة المنسدلة)، اضبط هذا الحقل لعنصر واحد فقط.

bottomText

string

بالنسبة إلى قوائم الاختيار المتعدد، وصف نصي أو تصنيف يظهر أسفل حقل text الخاص بالعنصر.

حقل الدمج start_icon. بالنسبة إلى قوائم الاختيار المتعدد، عنوان URL للرمز المعروض بجانب حقل text العنصر. يتوافق مع ملفات PNG وJPEG. يجب أن يكون عنوان URL تابعًا لـ HTTPS. على سبيل المثال، https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png. start_icon يمكن أن تكون إحدى القيم التالية فقط:
startIconUri

string

PlatformDataSource

بالنسبة إلى أداة SelectionInput تستخدم قائمة اختيار متعدّد، يجب توفير مصدر بيانات من Google Workspace. تُستخدَم لتعبئة العناصر في قائمة اختيار متعدّد.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

تمثيل JSON
{

  // Union field data_source can be only one of the following:
  "commonDataSource": enum (CommonDataSource),
  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
  // End of list of possible types for union field data_source.
}
الحقول
حقل الدمج data_source. مصدر البيانات data_source يمكن أن تكون إحدى القيم التالية فقط:
commonDataSource

enum (CommonDataSource)

مصدر بيانات تشترك فيه جميع تطبيقات Google Workspace، مثل المستخدمين في مؤسسة Google Workspace

hostAppDataSource

object (HostAppDataSourceMarkup)

مصدر بيانات خاص بتطبيق مضيف في Google Workspace، مثل المساحات في Google Chat

يتوافق هذا الحقل مع Google API Client Libraries، ولكنّه غير متاح في Cloud Client Libraries. لمزيد من المعلومات، يُرجى الاطّلاع على تثبيت مكتبات البرامج.

CommonDataSource

مصدر بيانات مشترك بين جميع تطبيقات Google Workspace

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

عمليات التعداد
UNKNOWN القيمة التلقائية لا تستخدِمها.
USER مستخدمو Google Workspace يمكن للمستخدم عرض واختيار المستخدمين من مؤسسة Google Workspace فقط.

HostAppDataSourceMarkup

بالنسبة إلى SelectionInput عنصر واجهة مستخدم يستخدِم قائمة اختيار متعدّد، يكون مصدر البيانات من أحد تطبيقات Google Workspace. يملأ مصدر البيانات عناصر التحديد لقائمة الاختيار المتعدد.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

تمثيل JSON
{

  // Union field data_source can be only one of the following:
  "chatDataSource": {
    object (ChatClientDataSourceMarkup)
  }
  // End of list of possible types for union field data_source.
}
الحقول
حقل الدمج data_source. تطبيق Google Workspace الذي يملأ العناصر في قائمة اختيار متعدّد. data_source يمكن أن تكون إحدى القيم التالية فقط:
chatDataSource

object (ChatClientDataSourceMarkup)

مصدر بيانات من Google Chat

ChatClientDataSourceMarkup

بالنسبة إلى أداة SelectionInput تستخدم قائمة اختيار متعدّد، يجب توفير مصدر بيانات من Google Chat. يملأ مصدر البيانات عناصر التحديد لقائمة الاختيار المتعدد. على سبيل المثال، يمكن للمستخدم اختيار مساحات Google Chat التي هو عضو فيها.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

تمثيل JSON
{

  // Union field source can be only one of the following:
  "spaceDataSource": {
    object (SpaceDataSource)
  }
  // End of list of possible types for union field source.
}
الحقول
حقل الدمج source. مصدر بيانات Google Chat source يمكن أن تكون إحدى القيم التالية فقط:
spaceDataSource

object (SpaceDataSource)

مساحات Google Chat التي يكون المستخدم عضوًا فيها

SpaceDataSource

مصدر بيانات يملأ مساحات Google Chat كعناصر اختيار لقائمة اختيار متعدّد. يتم ملء المساحات التي يكون المستخدم عضوًا فيها فقط.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

تمثيل JSON
{
  "defaultToCurrentSpace": boolean
}
الحقول
defaultToCurrentSpace

boolean

في حال ضبطها على true، يختار القائمة المتعددة الاختيارات مساحة Google Chat الحالية كعنصر تلقائيًا.

DateTimePicker

تتيح للمستخدمين إدخال تاريخ أو وقت أو كليهما. يتيح التحقّق من صحة عمليات إرسال النماذج. عند ضبط Action.all_widgets_are_required على true أو تحديد هذه الأداة في Action.required_widgets، يتم حظر إجراء الإرسال ما لم يتم تحديد قيمة. للاطّلاع على مثال في تطبيقات Google Chat، راجِع السماح للمستخدم باختيار تاريخ ووقت.

يمكن للمستخدمين إدخال نص أو استخدام أداة الاختيار لتحديد التواريخ والأوقات. إذا أدخل المستخدمون تاريخًا أو وقتًا غير صالحَين، ستعرض أداة الاختيار خطأ يطلب من المستخدمين إدخال المعلومات بشكل صحيح.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "name": string,
  "label": string,
  "type": enum (DateTimePickerType),
  "valueMsEpoch": int64,
  "timezoneOffsetDate": integer,
  "onChangeAction": {
    object (Action)
  }
}
الحقول
name

string

الاسم الذي يتم من خلاله تحديد DateTimePicker في حدث إدخال نموذج.

للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج.

label

string

النص الذي يطلب من المستخدمين إدخال تاريخ أو وقت أو تاريخ ووقت على سبيل المثال، إذا كان المستخدمون يحدّدون موعدًا، استخدِم تصنيفًا مثل Appointment date أو Appointment date and time.

type

enum (DateTimePickerType)

تحدّد هذه السمة ما إذا كانت الأداة تتيح إدخال تاريخ أو وقت أو كليهما.

valueMsEpoch

int64

القيمة التلقائية المعروضة في الأداة، بالمللي ثانية منذ وقت حقبة Unix

حدِّد القيمة استنادًا إلى نوع أداة الاختيار ( DateTimePickerType):

  • DATE_AND_TIME : يمثّل تاريخًا ووقتًا في التقويم بالتوقيت العالمي المنسّق. على سبيل المثال، لتمثيل 1 يناير 2023 في الساعة 12:00 ظهرًا بالتوقيت العالمي المتفق عليه، استخدِم 1672574400000.
  • DATE_ONLY : هو تاريخ تقويمي في الساعة 00:00:00 بالتوقيت العالمي المتفق عليه. على سبيل المثال، لتمثيل 1 يناير 2023، استخدِم 1672531200000.
  • TIME_ONLY : هو وقت بالتوقيت العالمي المتفق عليه. على سبيل المثال، لتمثيل الساعة 12:00 ظهرًا، استخدِم 43200000 (أو 12 * 60 * 60 * 1000).
timezoneOffsetDate

integer

الرقم الذي يمثّل معادلة المنطقة الزمنية من التوقيت العالمي المنسّق، بالدقائق في حال ضبطها، يتم عرض valueMsEpoch في المنطقة الزمنية المحدّدة. في حال عدم ضبطها، تكون القيمة التلقائية هي إعداد المنطقة الزمنية للمستخدم.

onChangeAction

object (Action)

يتم تشغيله عندما ينقر المستخدم على حفظ أو محو من واجهة DateTimePicker.

DateTimePickerType

تمثّل هذه السمة تنسيق التاريخ والوقت في التطبيق المصغّر DateTimePicker. يحدّد ما إذا كان يمكن للمستخدمين إدخال تاريخ أو وقت أو كليهما.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

عمليات التعداد
DATE_AND_TIME يُدخل المستخدمون تاريخًا ووقتًا.
DATE_ONLY يُدخل المستخدمون تاريخًا.
TIME_ONLY يُدخل المستخدمون وقتًا.

حاجز

لا يتضمّن هذا النوع أي حقول.

تعرض هذه السمة فاصلاً بين التطبيقات المصغّرة على شكل خط أفقي. للاطّلاع على مثال في تطبيقات Google Chat، راجِع إضافة فاصل أفقي بين التطبيقات المصغّرة.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

على سبيل المثال، ينشئ ملف JSON التالي مقسّمًا:

"divider": {}

شبكة

تعرِض هذه السمة شبكة تحتوي على مجموعة من العناصر. يمكن أن تتضمّن العناصر نصًا أو صورًا فقط. بالنسبة إلى الأعمدة السريعة الاستجابة أو لتضمين أكثر من نص أو صور، استخدِم Columns. للاطّلاع على مثال في تطبيقات Google Chat، راجِع عرض شبكة تتضمّن مجموعة من العناصر.

يمكن أن تحتوي الشبكة على أي عدد من الأعمدة والعناصر. يتم تحديد عدد الصفوف من خلال تقسيم عدد العناصر على عدد الأعمدة. تحتوي الشبكة التي تضم 10 عناصر وعمودَين على 5 صفوف. تحتوي الشبكة التي تضم 11 عنصرًا وعمودَين على 6 صفوف.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

على سبيل المثال، ينشئ ملف JSON التالي شبكة من عمودَين تحتوي على عنصر واحد:

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
تمثيل JSON
{
  "title": string,
  "items": [
    {
      object (GridItem)
    }
  ],
  "borderStyle": {
    object (BorderStyle)
  },
  "columnCount": integer,
  "onClick": {
    object (OnClick)
  }
}
الحقول
title

string

النص الذي يظهر في عنوان الجدول

items[]

object (GridItem)

تمثّل هذه السمة العناصر المطلوب عرضها في الشبكة.

borderStyle

object (BorderStyle)

نمط الحدود الذي سيتم تطبيقه على كل عنصر من عناصر الشبكة

columnCount

integer

عدد الأعمدة المطلوب عرضها في الشبكة يتم استخدام قيمة تلقائية إذا لم يتم تحديد هذا الحقل، وتختلف هذه القيمة التلقائية حسب مكان عرض الشبكة (مربّع الحوار مقابل الإعلان المرافق).

onClick

object (OnClick)

تتم إعادة استخدام دالة معاودة الاتصال هذه من خلال كل عنصر من عناصر الشبكة، ولكن مع إضافة معرّف العنصر وفهرسه في قائمة العناصر إلى مَعلمات دالة معاودة الاتصال.

GridItem

تمثّل هذه السمة عنصرًا في تصميم شبكي. يمكن أن تحتوي العناصر على نص أو صورة أو كليهما.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "id": string,
  "image": {
    object (ImageComponent)
  },
  "title": string,
  "subtitle": string,
  "layout": enum (GridItemLayout)
}
الحقول
id

string

معرّف يحدّده المستخدم لعنصر الشبكة هذا. يتم عرض هذا المعرّف في مَعلمات معاودة الاتصال الخاصة بالشبكة الرئيسية onClick.

image

object (ImageComponent)

الصورة التي تظهر في عنصر الشبكة

title

string

تمثّل هذه السمة عنوان العنصر في الشبكة.

subtitle

string

العنوان الفرعي لعنصر الشبكة

layout

enum (GridItemLayout)

تنسيق العنصر في الشبكة

ImageComponent

تمثّل هذه السمة صورة.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "imageUri": string,
  "altText": string,
  "cropStyle": {
    object (ImageCropStyle)
  },
  "borderStyle": {
    object (BorderStyle)
  }
}
الحقول
imageUri

string

عنوان URL الخاص بالصورة

altText

string

تمثّل هذه السمة التصنيف المخصّص لتسهيل استخدام الصورة.

cropStyle

object (ImageCropStyle)

نمط الاقتصاص الذي سيتم تطبيقه على الصورة.

borderStyle

object (BorderStyle)

نمط الحدود المطلوب تطبيقه على الصورة.

ImageCropStyle

تمثّل هذه السمة نمط الاقتصاص الذي تم تطبيقه على صورة.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

على سبيل المثال، إليك كيفية تطبيق نسبة عرض إلى ارتفاع 16:9:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}
تمثيل JSON
{
  "type": enum (ImageCropType),
  "aspectRatio": number
}
الحقول
type

enum (ImageCropType)

نوع المحصول

aspectRatio

number

تمثّل هذه السمة نسبة العرض إلى الارتفاع التي سيتم استخدامها إذا كان نوع الاقتصاص هو RECTANGLE_CUSTOM.

على سبيل المثال، إليك كيفية تطبيق نسبة عرض إلى ارتفاع 16:9:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}

ImageCropType

تمثّل هذه السمة نمط الاقتصاص الذي تم تطبيقه على صورة.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

عمليات التعداد
IMAGE_CROP_TYPE_UNSPECIFIED لا تستخدِمها. غير محدد
SQUARE القيمة التلقائية تطبيق اقتصاص مربّع
CIRCLE تطبيق اقتصاص دائري
RECTANGLE_CUSTOM تطبيق اقتصاص مستطيل بنسبة عرض إلى ارتفاع مخصّصة اضبط نسبة العرض إلى الارتفاع المخصّصة باستخدام aspectRatio.
RECTANGLE_4_3 تطبيق اقتصاص مستطيل بنسبة عرض إلى ارتفاع 4:3

BorderStyle

خيارات النمط لحدود البطاقة أو الأداة، بما في ذلك نوع الحد ولونه

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "type": enum (BorderType),
  "strokeColor": {
    object (Color)
  },
  "cornerRadius": integer
}
الحقول
type

enum (BorderType)

نوع الحدّ

strokeColor

object (Color)

الألوان التي سيتم استخدامها عندما تكون القيمة BORDER_TYPE_STROKE.

لضبط لون الحد، حدِّد قيمة للحقول red وgreen وblue. يجب أن تكون القيمة رقمًا عشريًا بين 0 و1 استنادًا إلى قيمة لون الأحمر والأخضر والأزرق، حيث 0 (0/255) يمثّل عدم توفّر اللون، 1 (255/255) يمثّل الحد الأقصى لشدة اللون.

على سبيل المثال، يضبط ما يلي اللون على الأحمر بأقصى درجة سطوع:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

الحقل alpha غير متاح للون الحد. يتم تجاهل هذا الحقل في حال تحديده.

cornerRadius

integer

نصف قطر الزاوية للحدود

BorderType

تمثّل هذه السمة أنواع الحدود المطبَّقة على التطبيقات المصغّرة.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

عمليات التعداد
BORDER_TYPE_UNSPECIFIED لا تستخدِمها. غير محدد
NO_BORDER بلا حدود
STROKE القيمة التلقائية مخطّط

GridItemLayout

تمثّل هذه السمة خيارات التنسيق المختلفة المتاحة لعنصر في شبكة.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

عمليات التعداد
GRID_ITEM_LAYOUT_UNSPECIFIED لا تستخدِمها. غير محدد
TEXT_BELOW يظهر العنوان والعنوان الفرعي أسفل صورة عنصر الشبكة.
TEXT_ABOVE يظهر العنوان والعنوان الفرعي فوق صورة عنصر الشبكة.

الأعمدة

تعرض الأداة Columns ما يصل إلى عمودَين في بطاقة أو مربّع حوار. يمكنك إضافة أدوات إلى كل عمود، وتظهر الأدوات بالترتيب الذي تم تحديده. للاطّلاع على مثال في تطبيقات Google Chat، راجِع مقالة عرض البطاقات ومربّعات الحوار في أعمدة.

يتم تحديد ارتفاع كل عمود من خلال العمود الأطول. على سبيل المثال، إذا كان العمود الأول أطول من العمود الثاني، سيكون ارتفاع كلا العمودين هو ارتفاع العمود الأول. بما أنّ كل عمود يمكن أن يحتوي على عدد مختلف من التطبيقات المصغّرة، لا يمكنك تحديد الصفوف أو محاذاة التطبيقات المصغّرة بين الأعمدة.

يتم عرض الأعمدة جنبًا إلى جنب. يمكنك تخصيص عرض كل عمود باستخدام الحقل HorizontalSizeStyle. إذا كان عرض شاشة المستخدم ضيقًا جدًا، سيتم التفاف العمود الثاني أسفل العمود الأول:

  • على الويب، يتم التفاف العمود الثاني إذا كان عرض الشاشة أقل من أو يساوي 480 بكسل.
  • على أجهزة iOS، يتم التفاف العمود الثاني إذا كان عرض الشاشة أقل من أو يساوي 300 نقطة.
  • على أجهزة Android، يتم التفاف العمود الثاني إذا كان عرض الشاشة أقل من 320 وحدة بكسل مستقلة الكثافة أو يساويها.

لتضمين أكثر من عمودَين أو لاستخدام الصفوف، استخدِم أداة Grid.

متاحة لتطبيقات Google Chat وإضافات Google Workspace. تشمل واجهات المستخدم للإضافات التي تتوافق مع الأعمدة ما يلي:

  • مربّع الحوار الذي يظهر عندما يفتح المستخدمون الإضافة من مسودة رسالة إلكترونية
  • مربّع الحوار الذي يظهر عندما يفتح المستخدمون الإضافة من قائمة إضافة مرفق في حدث &quot;تقويم Google&quot;.
تمثيل JSON
{
  "columnItems": [
    {
      object (Column)
    }
  ]
}
الحقول
columnItems[]

object (Column)

مصفوفة من الأعمدة يمكنك تضمين ما يصل إلى عمودَين في بطاقة أو مربّع حوار.

العمود

عمود

إضافات Google Workspace وتطبيقات Chat

تمثيل JSON
{
  "horizontalSizeStyle": enum (HorizontalSizeStyle),
  "horizontalAlignment": enum (HorizontalAlignment),
  "verticalAlignment": enum (VerticalAlignment),
  "widgets": [
    {
      object (Widgets)
    }
  ]
}
الحقول
horizontalSizeStyle

enum (HorizontalSizeStyle)

تحدّد هذه السمة كيفية ملء العمود لعرض البطاقة.

horizontalAlignment

enum (HorizontalAlignment)

تحدّد ما إذا كانت العناصر تتراصف إلى يسار العمود أو يمينه أو وسطه.

verticalAlignment

enum (VerticalAlignment)

تحدّد ما إذا كانت الأدوات تتوافق مع أعلى العمود أو أسفله أو وسطه.

widgets[]

object (Widgets)

مجموعة من التطبيقات المصغّرة المضمّنة في عمود تظهر التطبيقات المصغّرة بالترتيب الذي تم تحديده.

HorizontalSizeStyle

تحدّد هذه السمة كيفية ملء العمود لعرض البطاقة. يعتمد عرض كل عمود على كل من HorizontalSizeStyle وعرض التطبيقات المصغّرة ضمن العمود.

إضافات Google Workspace وتطبيقات Chat

عمليات التعداد
HORIZONTAL_SIZE_STYLE_UNSPECIFIED لا تستخدِمها. غير محدد
FILL_AVAILABLE_SPACE القيمة التلقائية يملأ العمود المساحة المتاحة، بما يصل إلى% 70 من عرض البطاقة. إذا تم ضبط كلا العمودين على FILL_AVAILABLE_SPACE، سيملأ كل عمود% 50 من المساحة.
FILL_MINIMUM_SPACE يملأ العمود أقل مساحة ممكنة ولا يزيد عن% 30 من عرض البطاقة.

HorizontalAlignment

تحدّد ما إذا كانت العناصر تتراصف إلى يسار العمود أو يمينه أو وسطه.

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

عمليات التعداد
HORIZONTAL_ALIGNMENT_UNSPECIFIED لا تستخدِمها. غير محدد
START القيمة التلقائية تتم محاذاة التطبيقات المصغّرة مع موضع البداية للعمود. بالنسبة إلى التنسيقات من اليسار إلى اليمين، تتم المحاذاة إلى اليسار. بالنسبة إلى التنسيقات من اليمين إلى اليسار، تتم المحاذاة إلى اليمين.
CENTER تتم محاذاة التطبيقات المصغّرة إلى منتصف العمود.
END تتم محاذاة التطبيقات المصغّرة مع موضع نهاية العمود. بالنسبة إلى التنسيقات من اليسار إلى اليمين، تتم محاذاة التطبيقات المصغّرة إلى اليسار. بالنسبة إلى التنسيقات من اليمين إلى اليسار، تتم محاذاة الأدوات المصغّرة إلى اليسار.

VerticalAlignment

تحدّد ما إذا كانت الأدوات تتوافق مع أعلى العمود أو أسفله أو وسطه.

إضافات Google Workspace وتطبيقات Chat

عمليات التعداد
VERTICAL_ALIGNMENT_UNSPECIFIED لا تستخدِمها. غير محدد
CENTER القيمة التلقائية تتم محاذاة التطبيقات المصغّرة إلى وسط العمود.
TOP تتم محاذاة التطبيقات المصغّرة مع أعلى العمود.
BOTTOM تتم محاذاة التطبيقات المصغّرة إلى أسفل العمود.

التطبيقات المصغَّرة

الأدوات المصغّرة المتوافقة التي يمكنك تضمينها في عمود

إضافات Google Workspace وتطبيقات Chat

تمثيل JSON
{

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "chipList": {
    object (ChipList)
  }
  // End of list of possible types for union field data.
}
الحقول

حقل الدمج data.

يمكن أن تكون data إحدى القيم التالية فقط:

textParagraph

object (TextParagraph)

التطبيق المصغَّر TextParagraph.

image

object (Image)

التطبيق المصغَّر Image.

decoratedText

object (DecoratedText)

التطبيق المصغَّر DecoratedText.

buttonList

object (ButtonList)

التطبيق المصغَّر ButtonList.

textInput

object (TextInput)

التطبيق المصغَّر TextInput.

selectionInput

object (SelectionInput)

التطبيق المصغَّر SelectionInput.

dateTimePicker

object (DateTimePicker)

التطبيق المصغَّر DateTimePicker.

chipList

object (ChipList)

التطبيق المصغَّر ChipList.

ChipList

قائمة بالرقائق مرتّبة أفقيًا، ويمكن إما التمرير أفقيًا أو الانتقال إلى السطر التالي.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "layout": enum (Layout),
  "chips": [
    {
      object (Chip)
    }
  ]
}
الحقول
layout

enum (Layout)

تخطيط قائمة الشرائح المحدّد

chips[]

object (Chip)

مجموعة من الشرائح.

التنسيق

تنسيق قائمة الشرائح

عمليات التعداد
LAYOUT_UNSPECIFIED لا تستخدِمها. غير محدد
WRAPPED القيمة التلقائية تلتفّ قائمة الشرائح إلى السطر التالي إذا لم تتوفّر مساحة أفقية كافية.
HORIZONTAL_SCROLLABLE يتم تمرير الشرائح أفقيًا إذا لم تتسع في المساحة المتاحة.

شريحة

شريحة نصية أو رمز أو شريحة نصية ورمز يمكن للمستخدمين النقر عليها

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "onClick": {
    object (OnClick)
  },
  "enabled": boolean,
  "disabled": boolean,
  "altText": string
}
الحقول
icon

object (Icon)

صورة الرمز إذا تم ضبط كل من icon و text، سيظهر الرمز قبل النص.

label

string

النص المعروض داخل الشريحة

onClick

object (OnClick)

اختيارية: الإجراء الذي سيتم تنفيذه عندما ينقر المستخدم على الشريحة، مثل فتح رابط تشعّبي أو تنفيذ دالة مخصّصة

enabled
(deprecated)

boolean

تُستخدَم لتحديد ما إذا كانت الشريحة في حالة نشطة وتستجيب لإجراءات المستخدم. القيمة التلقائية هي true. تمّ الإيقاف. استخدِم disabled بدلاً من ذلك.

disabled

boolean

تُستخدَم لتحديد ما إذا كانت الشريحة في حالة غير نشطة وتتجاهل إجراءات المستخدم. القيمة التلقائية هي false.

altText

string

النص البديل المستخدَم لتسهيل الاستخدام

اضبط نصًا وصفيًا يتيح للمستخدمين معرفة وظيفة الشريحة. على سبيل المثال، إذا كانت الشريحة تفتح ارتباطًا تشعبيًا، اكتب: "يفتح علامة تبويب جديدة في المتصفّح وينتقِل إلى مستندات المطوّرين الخاصة بـ Google Chat على الرابط https://developers.google.com/workspace/chat".

تعرض لوحة العرض الدوّارة، المعروفة أيضًا باسم شريط التمرير، قائمة بعناصر واجهة المستخدم بتنسيق عرض شرائح، مع أزرار للتنقّل إلى عنصر واجهة المستخدم السابق أو التالي.

على سبيل المثال، هذا تمثيل JSON للوحة عرض دوّارة تحتوي على ثلاث أدوات فقرات نصية.

{
  "carouselCards": [
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "First text paragraph in carousel",
          }
        }
      ]
    },
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "Second text paragraph in carousel",
          }
        }
      ]
    },
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "Third text paragraph in carousel",
          }
        }
      ]
    }
  ]
}

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.

تمثيل JSON
{
  "carouselCards": [
    {
      object (CarouselCard)
    }
  ]
}
الحقول
carouselCards[]

object (CarouselCard)

تمثّل هذه السمة قائمة بالبطاقات المُدرَجة في لوحة العرض الدوّارة.

CarouselCard

بطاقة يمكن عرضها كعنصر في لوحة عرض دوّارة. متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace

تمثيل JSON
{
  "widgets": [
    {
      object (NestedWidget)
    }
  ],
  "footerWidgets": [
    {
      object (NestedWidget)
    }
  ]
}
الحقول
widgets[]

object (NestedWidget)

تمثّل هذه السمة قائمة بالتطبيقات المصغّرة المعروضة في بطاقة لوحة العرض الدوّارة. يتم عرض التطبيقات المصغّرة بالترتيب الذي تم تحديده.

footerWidgets[]

object (NestedWidget)

قائمة بالتطبيقات المصغّرة المعروضة في أسفل بطاقة لوحة العرض الدوّارة يتم عرض التطبيقات المصغّرة بالترتيب الذي تم تحديده.

NestedWidget

قائمة بالتطبيقات المصغّرة التي يمكن عرضها في تخطيط حاوٍ، مثل CarouselCard. متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace

تمثيل JSON
{

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "buttonList": {
    object (ButtonList)
  },
  "image": {
    object (Image)
  }
  // End of list of possible types for union field data.
}
الحقول

حقل الدمج data.

يمكن أن تكون data إحدى القيم التالية فقط:

textParagraph

object (TextParagraph)

أداة فقرة نصية

buttonList

object (ButtonList)

عنصر واجهة مستخدم لقائمة أزرار

image

object (Image)

أداة صورة

CollapseControl

تمثّل عنصر تحكّم للتوسيع والتصغير.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "horizontalAlignment": enum (HorizontalAlignment),
  "expandButton": {
    object (Button)
  },
  "collapseButton": {
    object (Button)
  }
}
الحقول
horizontalAlignment

enum (HorizontalAlignment)

المحاذاة الأفقية لزرَي التوسيع والتصغير

expandButton

object (Button)

اختيارية: حدِّد زرًا قابلاً للتخصيص لتوسيع القسم. يجب ضبط كلّ من الحقلَين expandButton وcollapseButton. لن يتم تفعيل مجموعة حقول واحدة فقط. في حال عدم ضبط هذا الحقل، يتم استخدام الزر التلقائي.

collapseButton

object (Button)

اختيارية: حدِّد زرًا قابلاً للتخصيص لتصغير القسم. يجب ضبط كلّ من الحقلَين expandButton وcollapseButton. لن يتم تفعيل مجموعة حقول واحدة فقط. في حال عدم ضبط هذا الحقل، يتم استخدام الزر التلقائي.

DividerStyle

تمثّل هذه السمة نمط فاصل البطاقة. تُستخدَم حاليًا فقط للفواصل بين أقسام البطاقات.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

عمليات التعداد
DIVIDER_STYLE_UNSPECIFIED لا تستخدِمها. غير محدد
SOLID_DIVIDER الخيار التلقائي عرض مقسّم ثابت
NO_DIVIDER في حال ضبط هذا الخيار، لن يتم عرض أي فاصل. يزيل هذا النمط الفاصل من التصميم تمامًا. والنتيجة مماثلة لعدم إضافة فاصل على الإطلاق.

CardAction

إجراء البطاقة هو الإجراء المرتبط بالبطاقة. على سبيل المثال، قد تتضمّن بطاقة الفاتورة إجراءات مثل حذف الفاتورة أو إرسال الفاتورة عبر البريد الإلكتروني أو فتح الفاتورة في متصفّح.

متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.

تمثيل JSON
{
  "actionLabel": string,
  "onClick": {
    object (OnClick)
  }
}
الحقول
actionLabel

string

التصنيف الذي يظهر كعنصر في قائمة الإجراءات.

onClick

object (OnClick)

تمثّل هذه السمة onClick الإجراء الخاص ببند العمل هذا.

CardFixedFooter

تذييل ثابت يظهر في أسفل البطاقة

يؤدي ضبط fixedFooter بدون تحديد primaryButton أو secondaryButton إلى حدوث خطأ.

بالنسبة إلى تطبيقات Chat، يمكنك استخدام تذييلات ثابتة في مربّعات الحوار، ولكن ليس في رسائل البطاقات. للاطّلاع على مثال في تطبيقات Google Chat، راجِع إضافة تذييل ثابت.

متاحة لتطبيقات Google Chat وإضافات Google Workspace.

تمثيل JSON
{
  "primaryButton": {
    object (Button)
  },
  "secondaryButton": {
    object (Button)
  }
}
الحقول
primaryButton

object (Button)

الزر الأساسي في التذييل الثابت يجب أن يكون الزر زر نص مع ضبط النص واللون.

secondaryButton

object (Button)

الزر الثانوي في التذييل الثابت يجب أن يكون الزر زر نص مع ضبط النص واللون. في حال ضبط secondaryButton، يجب أيضًا ضبط primaryButton.

DisplayStyle

في إضافات Google Workspace، تحدّد هذه السمة طريقة عرض البطاقة.

متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.

عمليات التعداد
DISPLAY_STYLE_UNSPECIFIED لا تستخدِمها. غير محدد
PEEK يظهر عنوان البطاقة في أسفل الشريط الجانبي، ويغطي جزئيًا البطاقة العلوية الحالية في الحزمة. يؤدي النقر على العنوان إلى إظهار البطاقة في حزمة البطاقات. إذا لم تتضمّن البطاقة عنوانًا، سيتم استخدام عنوان من إنشاء النظام بدلاً من ذلك.
REPLACE القيمة التلقائية يتم عرض البطاقة من خلال استبدال طريقة عرض البطاقة العلوية في حزمة البطاقات.