Card

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

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

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

فتح Card Builder

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

ملاحظة: يمكنك إضافة ما يصل إلى 100 تطبيق مصغّر لكل بطاقة. إذا تجاوز إجمالي عدد التطبيقات المصغّرة في قسم معيّن 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)
  },
  "expressionData": [
    {
      object (ExpressionData)
    }
  ]
}
الحقول
header

object (CardHeader)

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

sections[]

object (Section)

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

sectionDividerStyle

enum (DividerStyle)

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

cardActions[]

object (CardAction)

إجراءات البطاقة تتم إضافة الإجراءات إلى قائمة شريط أدوات البطاقة. يمكنك إضافة ما يصل إلى 10 عناصر من النوع "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.

expressionData[]

object (ExpressionData)

بيانات التعبير للبطاقة.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات 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

عنوان URL الذي يستخدم HTTPS للصورة في عنوان البطاقة

imageAltText

string

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

القسم

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

تتوفّر هذه الميزة لتطبيقات Google Chat وإضافات Google Workspace.

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

string

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

widgets[]

object (Widget)

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

collapsible

boolean

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

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

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

uncollapsibleWidgetsCount

integer

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

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

id

string

معرّف فريد يتم تعيينه للقسم المستخدَم لتحديد القسم المطلوب تغييره. يبلغ عدد الأحرف المسموح به في المعرّف 64 حرفًا، ويجب أن يكون بالتنسيق [a-zA-Z0-9-]+.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

collapseControl

object (CollapseControl)

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

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

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

الأداة هي عنصر مركّب يمكن أن يمثّل نصًا أو صورًا أو أزرارًا أو أنواع عناصر أخرى.

تمثيل JSON
{
  "horizontalAlignment": enum (HorizontalAlignment),
  "id": string,
  "visibility": enum (Visibility),
  "eventActions": [
    {
      object (EventAction)
    }
  ],

  "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)
  }
}
الحقول
horizontalAlignment

enum (HorizontalAlignment)

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

id

string

معرّف فريد يتم تعيينه إلى التطبيق المصغّر ويُستخدَم لتحديد التطبيق المصغّر المطلوب تغييره. يبلغ عدد الأحرف المسموح به في المعرّف 64 حرفًا، ويجب أن يكون بالتنسيق [a-zA-Z0-9-]+.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

visibility

enum (Visibility)

يحدّد ما إذا كان التطبيق المصغّر مرئيًا أو مخفيًا. تكون القيمة التلقائية VISIBLE.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

eventActions[]

object (EventAction)

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

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

يمكن أن يحتوي التطبيق المصغّر على عنصر واحد فقط من العناصر التالية. يمكنك استخدام حقول متعددة في التطبيق المصغّر لعرض المزيد من العناصر. في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
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)

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

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

object (ChipList)

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

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

"chipList": {
  "chips": [
    {
      "label": "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

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

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)
  },

  "button": {
    object (Button)
  },
  "switchControl": {
    object (SwitchControl)
  },
  "endIcon": {
    object (Icon)
  }
}
الحقول
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)

يتم تنفيذ هذا الإجراء عندما ينقر المستخدمون في أي مكان على تطبيق "DecoratedText" المصغّر (بما في ذلك "text" و"topLabel" و"bottomLabel" والرموز)، باستثناء عند النقر على عنصر تحكّم تفاعلي منفصل ("button" أو "switchControl").

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

object (Button)

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

switchControl

object (SwitchControl)

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

endIcon

object (Icon)

رمز يظهر بعد النص

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

نهاية الحقول التي يستبعد كلّ منها الآخر

VerticalAlignment

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

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

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

إما مفتاح تبديل أو مربّع اختيار داخل تطبيق مصغّر في decoratedText.

تتوفّر هذه الميزة لتطبيقات Google Chat وإضافات Google Workspace.

لا تتوفّر هذه الميزة إلا في تطبيق decoratedText المصغّر.

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

string

الاسم الذي يتم من خلاله تحديد تطبيق مصغّر لمفتاح التبديل في حدث إدخال نموذج (كمفتاح في CommonEventObject.form_inputs).

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

value

string

القيمة التي يتم عرضها في CommonEventObject.form_inputs[name].string_inputs عند اختيار مفتاح التبديل (selected هي true). إذا كانت قيمة selected هي true ولم يتم ضبط value، يتم عرض سلسلة فارغة ("") في stringInputs.value. عندما تكون قيمة selected هي false، يتم حذف هذه القيمة من stringInputs.value.

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

selected

boolean

عندما يكون true، يتم اختيار مفتاح التبديل، ويتم تضمين value في CommonEventObject.form_inputs[name].string_inputs.value.

onChangeAction

object (Action)

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

controlType

enum (ControlType)

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

تتوفّر هذه الميزة لتطبيقات Google Chat وإضافات Google Workspace.

ControlType

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

تتوفّر هذه الميزة لتطبيقات Google Chat وإضافات Google Workspace.

عمليات التعداد
SWITCH مفتاح تبديل
CHECKBOX تمّت إزالة هذا العمود واستخدام CHECK_BOX بدلاً منه.
CHECK_BOX مربّع اختيار

TextInput

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

تتلقّى تطبيقات 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,

  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
}
الحقول
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.

في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
hostAppDataSource

object (HostAppDataSourceMarkup)

مصدر بيانات فريد لتطبيق مضيف في Google Workspace، مثل رسائل Gmail الإلكترونية أو أحداث "تقويم Google" أو رسائل Google Chat.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

نهاية الحقول التي يستبعد كلّ منها الآخر

النوع

كيفية ظهور حقل إدخال النص في واجهة المستخدم على سبيل المثال، ما إذا كان حقل إدخال من سطر واحد أو إدخال متعدد الأسطر. في حال تحديد السمة 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
{

  "text": string
}
الحقول
في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
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 إيموجي تم اختياره من أداة اختيار رموز الإيموجي التي يوفّرها النظام

HostAppDataSourceMarkup

مصدر بيانات من تطبيق Google Workspace يملأ مصدر البيانات العناصر المتاحة لأداة.

تمثيل JSON
{

  "chatDataSource": {
    object (ChatClientDataSourceMarkup)
  },
  "workflowDataSource": {
    object (WorkflowDataSourceMarkup)
  }
}
الحقول
تطبيق Google Workspace الذي يملأ العناصر المتاحة لبطاقة بيانات. في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
chatDataSource

object (ChatClientDataSourceMarkup)

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

workflowDataSource

object (WorkflowDataSourceMarkup)

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

نهاية الحقول التي يستبعد كلّ منها الآخر

ChatClientDataSourceMarkup

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

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

تمثيل JSON
{

  "spaceDataSource": {
    object (SpaceDataSource)
  }
}
الحقول
مصدر بيانات Google Chat في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
spaceDataSource

object (SpaceDataSource)

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

نهاية الحقول التي يستبعد كلّ منها الآخر

SpaceDataSource

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

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

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

boolean

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

WorkflowDataSourceMarkup

* لا تتوافق إلا مع Google Workspace Workflow، ولكنّها لا تتوافق مع تطبيقات Google Chat أو إضافات Google Workspace.

في تطبيق مصغّر من النوع TextInput أو SelectionInput من النوع MULTI_SELECT أو DateTimePicker، قدِّم مصدر البيانات من Google.

تمثيل JSON
{
  "includeVariables": boolean,
  "type": enum (Type)
}
الحقول
includeVariables

boolean

ما إذا كان سيتم تضمين متغيّرات من الخطوة السابقة في مصدر البيانات.

type

enum (Type)

نوع مصدر البيانات

النوع

قائمة تعداد تمثّل نوع مصدر بيانات سير العمل

عمليات التعداد
UNKNOWN القيمة التلقائية يجب عدم استخدامها.
USER مستخدمو Google Workspace يمكن للمستخدم الاطّلاع على المستخدمين واختيارهم من مؤسسته على Google Workspace فقط.
SPACE مساحات Google Chat التي يكون المستخدم عضوًا فيها
USER_WITH_FREE_FORM يمكن للمستخدمين اختيار عرض الأعضاء الحاليين واختيارهم من مؤسستهم على Google Workspace أو إدخال عنوان بريد إلكتروني أو نطاق صالح يدويًا.

SelectionInput

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

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

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

تتوفّر هذه الميزة لتطبيقات Google Chat وإضافات Google Workspace.

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

  "externalDataSource": {
    object (Action)
  },
  "platformDataSource": {
    object (PlatformDataSource)
  }
}
الحقول
name

string

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

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

label

string

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

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

type

enum (SelectionType)

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

items[]

object (SelectionItem)

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

onChangeAction

object (Action)

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

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

multiSelectMinQueryLength

integer

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

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

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

object (DataSourceConfig)

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

في حال تحديد هذا الحقل، يتم تجاهل الحقول multiSelectMaxSelectedItems وmultiSelectMinQueryLength وexternalDataSource وplatformDataSource.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio.

متاح لـ Dropdown widget في تطبيقات Google Chat. بالنسبة إلى تطبيق Google Chat المصغّر "Dropdown"، لا يتوفّر سوى "DataSourceConfig" واحد. في حال ضبط عدة سمات DataSourceConfig، سيتم استخدام السمة الأولى فقط.

multiSelectMaxSelectedItems

integer

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

hintText

string

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

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

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

متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace. في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:

externalDataSource

object (Action)

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

platformDataSource

object (PlatformDataSource)

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

نهاية الحقول التي يستبعد كلّ منها الآخر

SelectionType

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

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

تتوفّر هذه الميزة لتطبيقات Google Chat وإضافات Google Workspace.

عمليات التعداد
CHECK_BOX مجموعة من مربّعات الاختيار يمكن للمستخدمين اختيار مربّع اختيار واحد أو أكثر.
RADIO_BUTTON مجموعة من أزرار الاختيار يمكن للمستخدمين اختيار زر اختيار واحد.
SWITCH مجموعة من مفاتيح التحكّم ويمكن للمستخدمين تفعيل مفتاح تحكّم واحد أو أكثر.
DROPDOWN

قائمة منسدلة يمكن للمستخدمين اختيار عنصر واحد من القائمة.

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

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

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

تتوفّر هذه الميزة لتطبيقات Google Chat وإضافات Google Workspace.

MULTI_SELECT

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

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

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

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

تتوفّر هذه الميزة لتطبيقات Google Chat وإضافات Google Workspace.

PlatformDataSource

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

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

تمثيل JSON
{

  "commonDataSource": enum (CommonDataSource),
  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
}
الحقول
مصدر البيانات في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
commonDataSource

enum (CommonDataSource)

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

hostAppDataSource

object (HostAppDataSourceMarkup)

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

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

نهاية الحقول التي يستبعد كلّ منها الآخر

CommonDataSource

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

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

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

DataSourceConfig

عنصر إعداد يساعد في ضبط مصادر البيانات لأداة.

تتوفّر هذه الميزة لتطبيقات Google Chat وإضافات Google Workspace التي توسّع نطاق Google Workspace Studio.

تمثيل JSON
{

  "remoteDataSource": {
    object (Action)
  },
  "platformDataSource": {
    object (PlatformDataSource)
  }
  "minCharactersTrigger": integer
}
الحقول
مصدر البيانات في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
remoteDataSource

object (Action)

البيانات من مقدّم بيانات عن بُعد.

platformDataSource

object (PlatformDataSource)

البيانات من تطبيق Google Workspace.

نهاية الحقول التي يستبعد كلّ منها الآخر
minCharactersTrigger

integer

الحد الأدنى لعدد الأحرف التي يجب على المستخدم إدخالها قبل تفعيل موفّر البيانات هذا (أي قبل أن يبدأ في عرض النتائج).

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": string,
  "timezoneOffsetDate": integer,
  "onChangeAction": {
    object (Action)
  },

  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
}
الحقول
name

string

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

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

label

string

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

type

enum (DateTimePickerType)

ما إذا كان التطبيق المصغّر يتيح إدخال تاريخ أو وقت أو تاريخ ووقت

valueMsEpoch

string (int64 format)

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

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

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

integer

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

ملاحظة: يتم عرض هذا الحقل بالدقائق، في حين أنّ حمولات أحداث تفاعل المستخدمين توفّر عادةً فروق المنطقة الزمنية بالمللي ثانية (يجب القسمة على 60000 للتحويل).

onChangeAction

object (Action)

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

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

object (HostAppDataSourceMarkup)

مصدر بيانات فريد لتطبيق مضيف في Google Workspace، مثل رسائل Gmail الإلكترونية أو أحداث "تقويم Google" أو رسائل Google Chat.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

نهاية الحقول التي يستبعد كلّ منها الآخر

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)

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

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 استنادًا إلى قيمة لون RGB، حيث يمثّل 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 القيمة التلقائية Outline:

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. تشمل واجهات المستخدم الخاصة بالإضافات التي تتيح استخدام الأعمدة ما يلي:

  • مربّع الحوار الذي يظهر عندما يفتح المستخدمون الإضافة من مسودة رسالة إلكترونية
  • مربّع الحوار الذي يظهر عندما يفتح المستخدمون الإضافة من قائمة إضافة مرفق في حدث في "تقويم Google".
تمثيل 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
{

  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "chipList": {
    object (ChipList)
  }
}
الحقول
في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
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 وlabel، سيظهر الرمز قبل التصنيف.

label

string

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

onClick

object (OnClick)

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

enabled
(deprecated)

boolean

تم إيقاف هذه السياسة نهائيًا، لذا يُرجى استخدام سياسة disabled بدلاً منها.

ما إذا كانت الشريحة في حالة نشطة وتستجيب لإجراءات المستخدم

disabled

boolean

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

altText

string

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

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

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
{

  "textParagraph": {
    object (TextParagraph)
  },
  "buttonList": {
    object (ButtonList)
  },
  "image": {
    object (Image)
  }
}
الحقول
في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
textParagraph

object (TextParagraph)

تُمثّل هذه الفئة تطبيق مصغّر لفقرة نصية.

buttonList

object (ButtonList)

تطبيق مصغّر لقائمة الأزرار

image

object (Image)

تطبيق مصغّر للصور

نهاية الحقول التي يستبعد كلّ منها الآخر

مستوى العرض

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

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

عمليات التعداد
VISIBILITY_UNSPECIFIED مستوى ظهور غير محدّد لا تستخدمه.
VISIBLE العنصر في واجهة المستخدم مرئي.
HIDDEN يتم إخفاء العنصر في واجهة المستخدم.

EventAction

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

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

تمثيل JSON
{
  "actionRuleId": string,
  "postEventTriggers": [
    {
      object (Trigger)
    }
  ],

  "commonWidgetAction": {
    object (CommonWidgetAction)
  }
}
الحقول
actionRuleId

string

المعرّف الفريد لـ ActionRule

postEventTriggers[]

object (Trigger)

قائمة عوامل التشغيل التي سيتم تفعيلها بعد تنفيذ EventAction.

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

object (CommonWidgetAction)

إجراء شائع في التطبيقات المصغّرة

نهاية الحقول التي يستبعد كلّ منها الآخر

Trigger

تمثّل هذه السمة مشغّل تفاعل.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

تمثيل JSON
{
  "actionRuleId": string
}
الحقول
actionRuleId

string

المعرّف الفريد لـ ActionRule

CommonWidgetAction

يمثّل إجراءً غير مرتبط بأداة معيّنة.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

تمثيل JSON
{

  "updateVisibilityAction": {
    object (UpdateVisibilityAction)
  }
}
الحقول
الإجراء المطلوب تنفيذه في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
updateVisibilityAction

object (UpdateVisibilityAction)

الإجراء المطلوب لتعديل مستوى ظهور تطبيق مصغّر

نهاية الحقول التي يستبعد كلّ منها الآخر

UpdateVisibilityAction

يمثّل إجراءً يحدّث مستوى ظهور تطبيق مصغّر.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

تمثيل JSON
{
  "visibility": enum (Visibility)
}
الحقول
visibility

enum (Visibility)

مستوى الظهور الجديد

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 القيمة التلقائية يتم عرض البطاقة من خلال استبدال عرض البطاقة العلوية في حزمة البطاقات.

ExpressionData

تمثّل البيانات التي يتم استخدامها لتقييم تعبير.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

تمثيل JSON
{
  "id": string,
  "expression": string,
  "conditions": [
    {
      object (Condition)
    }
  ],
  "eventActions": [
    {
      object (EventAction)
    }
  ]
}
الحقول
id

string

المعرّف الفريد لـ ExpressionData

expression

string

التعبير غير المجمَّع

conditions[]

object (Condition)

قائمة الشروط التي يتم تحديدها من خلال نتيجة تقييم التعبير

eventActions[]

object (EventAction)

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

الشرط

تمثّل شرطًا يمكن استخدامه لتشغيل إجراء.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

تمثيل JSON
{
  "actionRuleId": string,

  "expressionDataCondition": {
    object (ExpressionDataCondition)
  }
}
الحقول
actionRuleId

string

المعرّف الفريد لـ ActionRule

الشرط في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
expressionDataCondition

object (ExpressionDataCondition)

الحالة التي تحدّدها بيانات التعبير.

نهاية الحقول التي يستبعد كلّ منها الآخر

ExpressionDataCondition

يمثّل شرطًا يتم تقييمه باستخدام لغة CEL.

متاحة لإضافات Google Workspace التي توسّع نطاق Google Workspace Studio. لا يتوفّر هذا الخيار لتطبيقات Google Chat.

تمثيل JSON
{
  "conditionType": enum (ConditionType)
}
الحقول
conditionType

enum (ConditionType)

نوع الشرط

ConditionType

نوع الشرط

عمليات التعداد
CONDITION_TYPE_UNSPECIFIED نوع الشرط غير محدّد.
EXPRESSION_EVALUATION_SUCCESS تم تقييم التعبير بنجاح.
EXPRESSION_EVALUATION_FAILURE تعذّر تقييم التعبير.