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.

الإجراء

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

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

ما إذا كان خيار القائمة غير مفعَّل القيمة التلقائية هي false.

الرمز

رمز معروض في تطبيق مصغّر على بطاقة للحصول على مثال في تطبيقات 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)

اعرض أحد رموز Materials من Google.

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

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

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

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

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

  • إذا كانت القائمة تستخدم صفيفًا ثابتًا من SelectionInput العناصر، تكون القيمة التلقائية هي 0 حرف ويتم تعبئة العناصر من الصفيف على الفور.
  • إذا كانت القائمة تستخدِم مصدر بيانات ديناميكيًا ( multi_select_data_source)، يتم ضبط الإعداد التلقائي على 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 Workspace، عليك تعبئة العناصر باستخدام صفيف ثابت من عناصر SelectionItem .

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

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

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

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

SelectionItem

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

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

تمثيل JSON
{
  "text": string,
  "value": string,
  "selected": boolean,
  "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 بالتوقيت العالمي المنسّق على سبيل المثال، للإشارة إلى 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 استنادًا إلى قيمة لون 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 مخطط تفصيلي.

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"

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