Cards v2

بطاقة

واجهة بطاقة تظهر في رسالة 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

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

imageAltText

string

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

ImageType

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

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

عمليات التعداد
SQUARE القيمة التلقائية يتم تطبيق قناع مربّع على الصورة. على سبيل المثال، تصبح صورة بحجم 4×3 بحجم 3×3.
CIRCLE يتم تطبيق قناع دائري على الصورة. على سبيل المثال، تصبح صورة 4×3 دائرة بقطر 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)

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

أداة

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

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

تمثيل 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)
  },
  "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"
          }
        }
      ]
    }
  ]
}
chipList

object (ChipList)

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

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

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

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

TextParagraph

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

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

تمثيل JSON
{
  "text": string,
  "maxLines": integer
}
الحقول
text

string

النص الذي يظهر في التطبيق المصغّر

maxLines

integer

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

القيمة التلقائية هي 0، وفي هذه الحالة يتم عرض كل السياق. ويتم تجاهل القيم السلبية. تتوفّر هذه الميزة لتطبيقات Google Chat ولا تتوفّر لإضافات Google Workspace.

صورة

صورة يتم تحديدها من خلال عنوان 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 Chat ولا تتوفّر لإضافات Google Workspace.

الإجراء

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

تتوفّر هذه الميزة لتطبيقات 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. بالنسبة إلى رسائل البطاقات في تطبيقات Chat، عليك أيضًا ضبط 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 Icon، الذي يتضمّن أكثر من 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، على سبيل المثال 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)
  },
  "topLabel": string,
  "text": string,
  "wrapText": boolean,
  "bottomLabel": string,
  "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)

الرمز المعروض أمام النص

topLabel

string

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

text

string

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

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

wrapText

boolean

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

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

bottomLabel

string

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

onClick

object (OnClick)

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

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

object (Button)

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

switchControl

object (SwitchControl)

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

endIcon

object (Icon)

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

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

زرّ

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

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

اللون

يمثل لونًا في مساحة ألوان 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 ، يتم فرض type على FILLED.

تتوفّر هذه الميزة لتطبيقات 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

حقل يمكن للمستخدمين إدخال نص فيه دعم الاقتراحات والإجراءات عند التغيير. للاطّلاع على مثال في تطبيقات 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
}
الحقول
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

دفع البطاقات المعروضة أو تعديلها

إضافة بطاقة جديدة إلى الحزمة (الانتقال للأمام) بالنسبة إلى تطبيقات 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

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

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

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

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

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

  // 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

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

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

validation

object (Validation)

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

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

حقل الربط 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 Chat، ويقترح التطبيق المصغّر المساحة تلقائيًا.

لتعبئة عناصر قائمة متعددة الاختيارات، يمكنك استخدام أحد الأنواع التالية من مصادر البيانات:

  • البيانات الثابتة: يتم تحديد العناصر على أنّها عناصر SelectionItem في التطبيق المصغّر. ما يصل إلى 100 عنصر
  • بيانات Google Workspace: تتم تعبئة العناصر باستخدام بيانات من Google Workspace، مثل مستخدمي Google Workspace أو مساحات Google Chat.
  • البيانات الخارجية: تتم تعبئة العناصر من مصدر بيانات خارجي خارج Google Workspace.

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

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

SelectionItem

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

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

تمثيل JSON
{
  "text": string,
  "value": string,
  "selected": boolean,
  "startIconUri": string,
  "bottomText": string
}
الحقول
text

string

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

value

string

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

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

selected

boolean

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

startIconUri

string

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

bottomText

string

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

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

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

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

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

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

string

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

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

label

string

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

type

enum (DateTimePickerType)

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

valueMsEpoch

string (int64 format)

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

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

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

integer

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

onChangeAction

object (Action)

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

validation

object (Validation)

اختياري. حدِّد عملية التحقّق المطلوبة لأداة اختيار الموقّت والتاريخ هذه.

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

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

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

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

  // 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 تطبيق مصغّر. متاحة لتطبيقات Google Chat ولا تتوفّر لإضافات Google Workspace.

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&quot;.

CollapseControl

مثِّل أحد عناصر التحكُّم في التوسيع والتصغير. تتوفّر هذه الميزة لتطبيقات Google Chat ولا تتوفّر لإضافات Google Workspace.

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

enum (HorizontalAlignment)

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

expandButton

object (Button)

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

collapseButton

object (Button)

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

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