نظرة عامة على رسائل Google Chat

تشرح هذه الصفحة أوجه الاختلاف بين الرسائل النصية ورسائل البطاقات.

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

بنية الرسالة النصية

في Google Chat API، يتم تمثيل الرسائل ككائنات JSON. داخل الرسالة، يتم تمثيل الرسالة النصية ككائن text.

في المثال التالي، ينشئ تطبيق Chat رسالة نصية في مساحة لفريق من مطوّري البرامج تفيد اقتراب موعد تجميد الرموز:

{
  "text": "Attention <users/all>: Code freeze starts at `11:59 am` Pacific Standard Time! If you need a little more time, type `/moreTime` and I'll push the code freeze back one hour."
}

يعرض ملف JSON الرسالة التالية:

مثال على رسالة نصية في Google Chat تعلن عن تجميد الرمز

بنية رسالة البطاقة

في Google Chat API، يتم تمثيل الرسائل ككائنات JSON. في الرسالة، يتم عرض البطاقة كمصفوفة cardsV2 وتتكوّن من ما يلي:

  • عنصر CardWithId واحد أو أكثر.
  • cardId، ويتم استخدامه لتحديد البطاقة والنطاق في رسالة معينة. (يمكن أن يكون للبطاقات في الرسائل المختلفة المعرّف نفسه.)
  • كائن card الذي يتألف مما يلي:

    • يشير ذلك المصطلح إلى كائن header يحدّد عناصر، مثل العنوان والعنوان الفرعي والصورة على نمط الصورة الرمزية.
    • واحد أو أكثر من كائنات section التي يحتوي كل منها على أداة واحدة على الأقل.
    • عنصر widget واحد أو أكثر. كل تطبيق مصغّر هو كائن مركب يمكن أن يمثل نصًا وصورًا وأزرارًا وأنواعًا أخرى من الكائنات.

على سبيل المثال، تتضمّن رسالة البطاقة التالية عناصر header وsection وwidget:

أحد تطبيقات Chat يجري استطلاعًا في مساحة Chat
باستخدام رسالة بطاقة

يمثّل الرمز التالي ملف JSON لرسالة البطاقة:

JSON

{
  "cardsV2": [
    {
      "cardId": "unique-card-id",
      "card": {
        "header": {
          "title": "Sasha",
          "subtitle": "Software Engineer",
          "imageUrl": "https://developers.google.com/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"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  ]
}