مخاطبین را در Google Chat جمع آوری و مدیریت کنید

این آموزش نحوه ساخت یک برنامه Google Chat را نشان می‌دهد که به کاربران Google Chat کمک می‌کند تا مخاطبین شخصی و تجاری خود را مدیریت کنند. برای جمع‌آوری اطلاعات، برنامه Chat از کاربران می‌خواهد که فرم تماس را در پیام‌های کارت و کادرهای محاوره‌ای تکمیل کنند.

برنامه چت را در عمل ببینید:

  • فرم تماس از دستور اسلش.
    شکل ۱. برنامه چت به دستور اسلش /about با یک پیام متنی و دکمه‌ای که فرم تماس را باز می‌کند، پاسخ می‌دهد.
  • فرم تماس در یک کادر محاوره‌ای.
    شکل ۲. برنامه چت، پنجره‌ای را باز می‌کند که در آن کاربران می‌توانند اطلاعات مربوط به یک مخاطب را وارد کنند.
  • کادر محاوره‌ای را تأیید و بررسی کنید.
    شکل ۳. برنامه چت یک کادر محاوره‌ای تأیید را برمی‌گرداند تا کاربران بتوانند قبل از ارسال، اطلاعات را بررسی و تأیید کنند.
  • پیامکی که مخاطب جدید را تأیید می‌کند.
    شکل ۴. پس از ارسال فرم توسط کاربر، برنامه چت یک پیام متنی خصوصی برای تأیید ارسال ارسال می‌کند.
  • فرم تماس از پیام کارت.
    شکل ۵. برنامه چت همچنین از کاربران می‌خواهد که یک مخاطب را از یک کارت در پیام اضافه کنند.

پیش‌نیازها

اهداف

معماری

برنامه چت با استفاده از اسکریپت Google Apps ساخته شده است و از رویدادهای تعاملی برای پردازش و پاسخ به کاربران چت استفاده می‌کند.

شکل زیر نشان می‌دهد که یک کاربر معمولاً چگونه با برنامه چت تعامل دارد:

  1. کاربر یک پیام مستقیم را با برنامه چت باز می‌کند، یا برنامه چت را به یک فضای موجود اضافه می‌کند.

  2. برنامه چت با ساخت و نمایش یک فرم تماس به عنوان یک شیء card ، از کاربر می‌خواهد که یک مخاطب اضافه کند. برای نمایش فرم تماس، برنامه چت به روش‌های زیر به کاربران پاسخ می‌دهد:

    • به @mention ها و پیام‌های مستقیم با یک پیام کارتی که حاوی فرم تماس است پاسخ می‌دهد.
    • با باز کردن یک کادر محاوره‌ای با فرم تماس، به دستور اسلش /addContact پاسخ می‌دهد.
    • به دستور اسلش /about با یک پیام متنی پاسخ می‌دهد که دارای دکمه‌ی «افزودن مخاطب» است و کاربران می‌توانند با کلیک بر روی آن، پنجره‌ی محاوره‌ای با فرم تماس باز کنند.
  3. وقتی فرم تماس نمایش داده می‌شود، کاربر اطلاعات تماس را در فیلدها و ویجت‌های زیر وارد می‌کند:

    • نام و نام خانوادگی : یک ویجت textInput که رشته‌ها را می‌پذیرد.
    • تاریخ تولد : یک ویجت dateTimePicker که فقط تاریخ را می‌پذیرد.
    • نوع تماس : یک ویجت selectionInput از دکمه‌های رادیویی که به کاربران امکان می‌دهد یک مقدار رشته‌ای ( Personal یا Work ) را انتخاب و ارسال کنند.
    • دکمه بررسی و ارسال : یک آرایه buttonList با ویجت button که کاربر برای ارسال مقادیری که وارد می‌کند، روی آن کلیک می‌کند.
  4. برنامه‌ی چت گوگل، رویداد تعاملی CARD_CLICKED را برای پردازش مقادیری که کاربر وارد می‌کند، مدیریت می‌کند و مقادیر را در یک کارت تأیید نمایش می‌دهد.

  5. کاربر کارت تأیید را بررسی می‌کند و برای نهایی کردن اطلاعات تماس، روی دکمه ارسال کلیک می‌کند.

  6. برنامه چت گوگل یک پیام متنی خصوصی ارسال می‌کند که ارسال را تأیید می‌کند.

محیط را آماده کنید

این بخش نحوه ایجاد و پیکربندی یک پروژه Google Cloud برای برنامه Chat را نشان می‌دهد.

ایجاد یک پروژه گوگل کلود

کنسول گوگل کلود

  1. در کنسول گوگل کلود، به Menu > IAM & Admin > Create a Project بروید.

    به ایجاد پروژه بروید

  2. در قسمت نام پروژه ، یک نام توصیفی برای پروژه خود وارد کنید.

    اختیاری: برای ویرایش شناسه پروژه ، روی ویرایش کلیک کنید. شناسه پروژه پس از ایجاد پروژه قابل تغییر نیست، بنابراین شناسه‌ای را انتخاب کنید که نیازهای شما را در طول عمر پروژه برآورده کند.

  3. در فیلد «مکان» ، روی «مرور» کلیک کنید تا مکان‌های بالقوه برای پروژه شما نمایش داده شود. سپس، روی «انتخاب» کلیک کنید.
  4. روی ایجاد کلیک کنید. کنسول Google Cloud به صفحه داشبورد هدایت می‌شود و پروژه شما ظرف چند دقیقه ایجاد می‌شود.

رابط خط فرمان جی‌کلاود

در یکی از محیط‌های توسعه زیر، به رابط خط فرمان گوگل کلود ( gcloud ) دسترسی پیدا کنید:

  • Cloud Shell : برای استفاده از یک ترمینال آنلاین با رابط خط فرمان gcloud که از قبل تنظیم شده است، Cloud Shell را فعال کنید.
    فعال کردن پوسته ابری
  • پوسته محلی : برای استفاده از یک محیط توسعه محلی، رابط خط فرمان gcloud را نصب و راه‌اندازی کنید .
    برای ایجاد یک پروژه ابری، از دستور gcloud projects create استفاده کنید:
    gcloud projects create PROJECT_ID
    به جای PROJECT_ID ، شناسه پروژه‌ای که می‌خواهید ایجاد کنید را وارد کنید.

تنظیم احراز هویت و مجوز

برنامه‌های Google Chat شما را ملزم به پیکربندی صفحه رضایت OAuth می‌کنند تا کاربران بتوانند برنامه شما را در برنامه‌های Google Workspace، از جمله Google Chat، تأیید کنند.

در این آموزش، شما یک برنامه چت را که فقط برای آزمایش و استفاده داخلی است، مستقر می‌کنید، بنابراین استفاده از اطلاعات جایگزین برای صفحه رضایت اشکالی ندارد. قبل از انتشار برنامه چت، هرگونه اطلاعات جایگزین را با اطلاعات واقعی جایگزین کنید.

  1. در کنسول گوگل کلود، به Menu > برویدGoogle Auth platform > برندسازی .

    به بخش برندسازی بروید

  2. اگر قبلاً تنظیمات را انجام داده‌ایدGoogle Auth platformمی‌توانید تنظیمات صفحه رضایت OAuth زیر را در Branding ، Audience و Data Access پیکربندی کنید. اگر پیامی با این مضمون مشاهده کردید Google Auth platform هنوز پیکربندی نشده است ، روی شروع کار کلیک کنید:

    1. در قسمت اطلاعات برنامه ، در قسمت نام برنامه ، عبارت Contact Manager را تایپ کنید.
    2. در ایمیل پشتیبانی کاربر ، آدرس ایمیل خود یا یک گروه گوگل مناسب را انتخاب کنید.
    3. روی بعدی کلیک کنید.
    4. در قسمت مخاطبان ، گزینه داخلی (Internal) را انتخاب کنید. اگر نمی‌توانید داخلی (Internal) را انتخاب کنید، خارجی (External) را انتخاب کنید.
    5. روی بعدی کلیک کنید.
    6. در قسمت اطلاعات تماس ، یک آدرس ایمیل وارد کنید که از طریق آن بتوانید از هرگونه تغییر در پروژه خود مطلع شوید.
    7. روی بعدی کلیک کنید.
    8. در قسمت Finish ، سیاست داده‌های کاربر سرویس‌های API گوگل را مرور کنید و در صورت موافقت، گزینه «من با سیاست‌های داده‌های کاربر سرویس‌های API گوگل موافقم» را انتخاب کنید.
    9. روی ادامه کلیک کنید.
    10. روی ایجاد کلیک کنید.
    11. اگر نوع کاربر را External انتخاب کرده‌اید، کاربران آزمایشی را اضافه کنید:
      1. روی مخاطب کلیک کنید.
      2. در قسمت کاربران آزمایشی ، روی افزودن کاربران کلیک کنید.
      3. آدرس ایمیل خود و سایر کاربران آزمایشی مجاز را وارد کنید، سپس روی ذخیره کلیک کنید.

ایجاد و استقرار برنامه چت

در بخش بعدی، کل پروژه Apps Script را که شامل تمام کدهای برنامه مورد نیاز برای برنامه چت شما است، کپی و به‌روزرسانی می‌کنید، بنابراین نیازی به کپی و پیست کردن تک تک فایل‌ها نیست.

در صورت تمایل، می‌توانید کل پروژه را در گیت‌هاب مشاهده کنید.

مشاهده در گیت‌هاب

در اینجا خلاصه‌ای از هر فایل را مشاهده می‌کنید:

main.gs

تمام منطق برنامه، از جمله رویدادهای تعاملی مانند ارسال پیام توسط کاربران به برنامه چت، کلیک بر روی دکمه‌ها از یک پیام برنامه چت یا باز و بسته کردن کادرهای گفتگو را مدیریت می‌کند.

مشاهده کد main.gs

اسکریپت برنامه‌ها/فرم تماس-برنامه/اصلی.gs
/**
 * Copyright 2024 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * Responds to a MESSAGE interaction event in Google Chat.
 *
 * @param {Object} event the MESSAGE interaction event from Chat API.
 * @return {Object} message response that opens a dialog or sends private
 *                          message with text and card.
 */
function onMessage(event) {
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case 1:
        // If the slash command is "/about", responds with a text message and button
        // that opens a dialog.
        return {
          text: "Manage your personal and business contacts 📇. To add a " +
                  "contact, use the slash command `/addContact`.",
          accessoryWidgets: [{
            buttonList: { buttons: [{
              text: "Add Contact",
              onClick: { action: {
                function: "openInitialDialog",
                interaction: "OPEN_DIALOG"
              }}
            }]}
          }]
        }
      case 2:
        // If the slash command is "/addContact", opens a dialog.
        return openInitialDialog();
    }
  }

  // If user sends the Chat app a message without a slash command, the app responds
  // privately with a text and card to add a contact.
  return {
    privateMessageViewer: event.user,
    text: "To add a contact, try `/addContact` or complete the form below:",
    cardsV2: [{
      cardId: "addContactForm",
      card: {
        header: { title: "Add a contact" },
        sections:[{ widgets: CONTACT_FORM_WIDGETS.concat([{
          buttonList: { buttons: [{
            text: "Review and submit",
            onClick: { action: { function : "openConfirmation" }}
          }]}
        }])}]
      }
    }]
  };
}

/**
 * Responds to CARD_CLICKED interaction events in Google Chat.
 *
 * @param {Object} event the CARD_CLICKED interaction event from Google Chat.
 * @return {Object} message responses specific to the dialog handling.
 */
function onCardClick(event) {
  // Initial dialog form page
  if (event.common.invokedFunction === "openInitialDialog") {
    return openInitialDialog();
  // Confirmation dialog form page
  } else if (event.common.invokedFunction === "openConfirmation") {
    return openConfirmation(event);
  // Submission dialog form page
  } else if (event.common.invokedFunction === "submitForm") {
    return submitForm(event);
  }
}

/**
 * Opens the initial step of the dialog that lets users add contact details.
 *
 * @return {Object} a message with an action response to open a dialog.
 */
function openInitialDialog() {
  return { actionResponse: {
    type: "DIALOG",
    dialogAction: { dialog: { body: { sections: [{
      header: "Add new contact",
      widgets: CONTACT_FORM_WIDGETS.concat([{
        buttonList: { buttons: [{
          text: "Review and submit",
          onClick: { action: { function: "openConfirmation" }}
        }]}
      }])
    }]}}}
  }};
}

/**
 * Returns the second step as a dialog or card message that lets users confirm details.
 *
 * @param {Object} event the interactive event with form inputs.
 * @return {Object} returns a dialog or private card message.
 */
function openConfirmation(event) {
  const name = fetchFormValue(event, "contactName") ?? "";
  const birthdate = fetchFormValue(event, "contactBirthdate") ?? "";
  const type = fetchFormValue(event, "contactType") ?? "";
  const cardConfirmation = {
    header: "Your contact",
    widgets: [{
      textParagraph: { text: "Confirm contact information and submit:" }}, {
      textParagraph: { text: "<b>Name:</b> " + name }}, {
      textParagraph: {
        text: "<b>Birthday:</b> " + convertMillisToDateString(birthdate)
      }}, {
      textParagraph: { text: "<b>Type:</b> " + type }}, {
      buttonList: { buttons: [{
        text: "Submit",
        onClick: { action: {
          function: "submitForm",
          parameters: [{
            key: "contactName", value: name }, {
            key: "contactBirthdate", value: birthdate }, {
            key: "contactType", value: type
          }]
        }}
      }]}
    }]
  };

  // Returns a dialog with contact information that the user input.
  if (event.isDialogEvent) {
    return { action_response: {
      type: "DIALOG",
      dialogAction: { dialog: { body: { sections: [ cardConfirmation ]}}}
    }};
  }

  // Updates existing card message with contact information that the user input.
  return {
    actionResponse: { type: "UPDATE_MESSAGE" },
    privateMessageViewer: event.user,
    cardsV2: [{
      card: { sections: [cardConfirmation]}
    }]
  }
}

/**
  * Validates and submits information from a dialog or card message
  * and notifies status.
  *
  * @param {Object} event the interactive event with parameters.
  * @return {Object} a message response that opens a dialog or posts a private
  *                  message.
  */
function submitForm(event) {
  const contactName = event.common.parameters["contactName"];
  // Checks to make sure the user entered a contact name.
  // If no name value detected, returns an error message.
  const errorMessage = "Don't forget to name your new contact!";
  if (!contactName && event.dialogEventType === "SUBMIT_DIALOG") {
    return { actionResponse: {
      type: "DIALOG",
      dialogAction: { actionStatus: {
        statusCode: "INVALID_ARGUMENT",
        userFacingMessage: errorMessage
      }}
    }};
  }
  if (!contactName) {
    return {
      privateMessageViewer: event.user,
      text: errorMessage
    };
  }

  // The Chat app indicates that it received form data from the dialog or card.
  // Sends private text message that confirms submission.
  const confirmationMessage = "✅ " + contactName + " has been added to your contacts.";
  if (event.dialogEventType === "SUBMIT_DIALOG") {
    return {
      actionResponse: {
        type: "DIALOG",
        dialogAction: { actionStatus: {
          statusCode: "OK",
          userFacingMessage: "Success " + contactName
        }}
      }
    };
  }
  return {
    actionResponse: { type: "NEW_MESSAGE" },
    privateMessageViewer: event.user,
    text: confirmationMessage
  };
}

/**
 * Extracts form input value for a given widget.
 *
 * @param {Object} event the CARD_CLICKED interaction event from Google Chat.
 * @param {String} widgetName a unique ID for the widget, specified in the widget's name field.
 * @returns the value inputted by the user, null if no value can be found.
 */
function fetchFormValue(event, widgetName) {
  const formItem = event.common.formInputs[widgetName][""];
  // For widgets that receive StringInputs data, the value input by the user.
  if (formItem.hasOwnProperty("stringInputs")) {
    const stringInput = event.common.formInputs[widgetName][""].stringInputs.value[0];
    if (stringInput != null) {
      return stringInput;
    }
  // For widgets that receive dateInput data, the value input by the user.
  } else if (formItem.hasOwnProperty("dateInput")) {
    const dateInput = event.common.formInputs[widgetName][""].dateInput.msSinceEpoch;
     if (dateInput != null) {
       return dateInput;
     }
  }

  return null;
}

/**
 * Converts date in milliseconds since epoch to user-friendly string.
 *
 * @param {Object} millis the milliseconds since epoch time.
 * @return {string} Display-friend date (English US).
 */
function convertMillisToDateString(millis) {
  const date = new Date(millis);
  const options = { year: 'numeric', month: 'long', day: 'numeric' };
  return date.toLocaleDateString('en-US', options);
}
contactForm.gs

شامل ویجت‌هایی است که داده‌های فرم را از کاربران دریافت می‌کنند. این ویجت‌های ورودی فرم در کارت‌هایی نمایش داده می‌شوند که در پیام‌ها و پنجره‌های محاوره‌ای ظاهر می‌شوند.

مشاهده کد contactForm.gs

اسکریپت برنامه‌ها/فرم تماس-برنامه/فرم تماس.gs
/**
 * Copyright 2024 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * The section of the contact card that contains the form input widgets. Used in a dialog and card message.
 * To add and preview widgets, use the Card Builder: https://addons.gsuite.google.com/uikit/builder
 */
const CONTACT_FORM_WIDGETS = [
  {
    "textInput": {
      "name": "contactName",
      "label": "First and last name",
      "type": "SINGLE_LINE"
    }
  },
  {
    "dateTimePicker": {
      "name": "contactBirthdate",
      "label": "Birthdate",
      "type": "DATE_ONLY"
    }
  },
  {
    "selectionInput": {
      "name": "contactType",
      "label": "Contact type",
      "type": "RADIO_BUTTON",
      "items": [
        {
          "text": "Work",
          "value": "Work",
          "selected": false
        },
        {
          "text": "Personal",
          "value": "Personal",
          "selected": false
        }
      ]
    }
  }
];
appsscript.json

مانیفست Apps Script که پروژه Apps Script را برای برنامه چت تعریف و پیکربندی می‌کند.

مشاهده کد appsscript.json

اسکریپت برنامه‌ها/فرم تماس-برنامه/اسکریپت برنامه‌ها.json
{
  "timeZone": "America/Los_Angeles",
  "dependencies": {},
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "chat": {}
}

شماره و شناسه پروژه ابری خود را پیدا کنید

  1. در کنسول گوگل کلود، به پروژه کلود خود بروید.

    به کنسول گوگل کلود بروید

  2. روی تنظیمات و ابزارها کلیک کنید > تنظیمات پروژه .

  3. به مقادیر فیلدهای شماره پروژه و شناسه پروژه توجه کنید. می‌توانید از آنها در بخش‌های بعدی استفاده کنید.

پروژه Apps Script را ایجاد کنید

برای ایجاد یک پروژه Apps Script و اتصال آن به پروژه Cloud خود:

  1. برای باز کردن پروژه‌ی « مدیریت مخاطبین در اسکریپت برنامه‌های چت گوگل» روی دکمه‌ی زیر کلیک کنید.
    پروژه را باز کنید
  2. روی نمای کلی کلیک کنید.
  3. در صفحه مرور کلی، کلیک کنید آیکون مربوط به کپی کردن یک کپی تهیه کنید .
  4. نام نسخه خود از پروژه Apps Script را بنویسید:

    1. روی کپی کردن مدیریت مخاطبین در گوگل چت کلیک کنید.

    2. در عنوان پروژه ، عبارت Contact Manager - Google Chat app تایپ کنید.

    3. روی تغییر نام کلیک کنید.

پروژه Cloud مربوط به پروژه Apps Script را تنظیم کنید.

  1. در پروژه Apps Script خود، کلیک کنید آیکون مربوط به تنظیمات پروژه تنظیمات پروژه .
  2. در زیر پروژه پلتفرم ابری گوگل (GCP) ، روی تغییر پروژه کلیک کنید.
  3. در قسمت شماره پروژه GCP ، شماره پروژه ابری خود را وارد کنید.
  4. روی تنظیم پروژه کلیک کنید. پروژه Cloud و پروژه Apps Script اکنون به هم متصل شده‌اند.

ایجاد یک استقرار اسکریپت برنامه‌ها

حالا که همه کدها سر جای خودشان هستند، پروژه Apps Script را مستقر کنید. هنگام پیکربندی برنامه چت در Google Cloud از شناسه استقرار استفاده می‌کنید.

  1. در Apps Script، پروژه برنامه چت را باز کنید.

    به اسکریپت برنامه‌ها بروید

  2. روی استقرار > استقرار جدید کلیک کنید.

  3. اگر افزونه از قبل انتخاب نشده است، در کنار انتخاب نوع ، روی انواع استقرار کلیک کنید آیکون مربوط به تنظیمات پروژه و افزونه را انتخاب کنید.

  4. در قسمت توضیحات ، توضیحی برای این نسخه وارد کنید، مانند Test of Contact Manager .

  5. روی Deploy کلیک کنید. Apps Script استقرار موفقیت‌آمیز را گزارش می‌دهد و یک شناسه استقرار ارائه می‌دهد.

  6. برای کپی کردن شناسه استقرار، روی Copy کلیک کنید و سپس روی Done کلیک کنید.

پیکربندی برنامه چت در کنسول گوگل کلود

این بخش نحوه پیکربندی Google Chat API در کنسول Google Cloud را با اطلاعات مربوط به برنامه چت شما، از جمله شناسه استقراری که از پروژه Apps Script خود ایجاد کرده‌اید، نشان می‌دهد.

  1. در کنسول گوگل کلود، > محصولات بیشتر > فضای کاری گوگل > کتابخانه محصولات > رابط برنامه‌نویسی کاربردی گوگل چت > مدیریت > پیکربندی کلیک کنید.

    به پیکربندی API چت بروید

  2. پاک کردن «این برنامه گپ را به عنوان یک افزونه Google Workspace بسازید» . یک کادر محاوره‌ای باز می‌شود که از شما می‌خواهد تأیید کنید. در کادر محاوره‌ای، روی غیرفعال کردن کلیک کنید.

  3. در قسمت نام برنامه ، Contact Manager را تایپ کنید.

  4. در قسمت آدرس اینترنتی آواتار ، https://developers.google.com/chat/images/contact-icon.png را تایپ کنید.

  5. در قسمت توضیحات ، Manage your personal and business contacts تایپ کنید.

  6. روی گزینه‌ی «فعال کردن ویژگی‌های تعاملی» کلیک کنید تا فعال شود.

  7. در بخش عملکرد ، گزینه «پیوستن به فضاها و مکالمات گروهی» را انتخاب کنید.

  8. در بخش تنظیمات اتصال ، گزینه Apps Script را انتخاب کنید.

  9. در بخش Deployment ID ، شناسه‌ی Apps Script Deployment را که در بخش قبل هنگام ایجاد استقرار Apps Script کپی کرده بودید، جایگذاری کنید.

  10. در قسمت Commands ، دستورات اسلش /about و /addContact را تنظیم کنید:

    1. برای تنظیم اولین دستور اسلش، روی «افزودن یک دستور اسلش» کلیک کنید.
    2. در قسمت «نام» ، About را تایپ کنید.
    3. در قسمت شناسه فرمان ، 1 را تایپ کنید.
    4. در قسمت توضیحات ، عبارت Learn how to use this Chat app to manage your contacts تایپ کنید.
    5. در قسمت نوع فرمان ، Slash command انتخاب کنید.
    6. در نام دستور Slash ، عبارت /about را تایپ کنید.
    7. انتخاب کنید. یک کادر محاوره‌ای باز می‌شود .
    8. روی انجام شد کلیک کنید.
    9. برای تنظیم یک دستور اسلش دیگر، روی «افزودن یک دستور» کلیک کنید.
    10. در قسمت نام ، Add a contact تایپ کنید.
    11. در قسمت شناسه فرمان ، 2 را تایپ کنید.
    12. در قسمت توضیحات ، Submit information about a contact را تایپ کنید.
    13. در قسمت نوع فرمان ، Slash command انتخاب کنید.
    14. در نام دستور Slash ، عبارت /addContact را تایپ کنید.
    15. انتخاب کنید. یک کادر محاوره‌ای باز می‌شود .
    16. روی انجام شد کلیک کنید.
  11. در قسمت «قابلیت مشاهده» ، کادر انتخاب « این برنامه چت را برای افراد و گروه‌های خاص در YOUR DOMAIN در دسترس قرار دهید» را انتخاب کنید و آدرس ایمیل خود را وارد کنید.

  12. در قسمت گزارش‌ها ، گزینه ثبت خطاها را برای ثبت گزارش‌ها انتخاب کنید.

  13. روی ذخیره کلیک کنید. یک پیام ذخیره پیکربندی ظاهر می‌شود.

برنامه چت آماده نصب و آزمایش در چت است.

برنامه چت را آزمایش کنید

برای آزمایش برنامه چت خود، یک فضای پیام مستقیم با برنامه چت باز کنید و پیامی ارسال کنید:

  1. با استفاده از حساب Google Workspace که هنگام اضافه کردن خود به عنوان یک آزمایشگر مورد اعتماد ارائه دادید، Google Chat را باز کنید.

    به گوگل چت بروید

  2. روی گپ جدید کلیک کنید.
  3. در فیلد «افزودن ۱ یا چند نفر» ، نام برنامه چت خود را تایپ کنید.
  4. برنامه چت خود را از بین نتایج انتخاب کنید. یک پیام مستقیم باز می‌شود.

  1. در پیام مستقیم جدید با برنامه چت، عبارت /addContact را تایپ کرده و اینتر را بزنید.

  2. در کادر گفتگوی باز شده، اطلاعات تماس را وارد کنید:

    1. در فیلد متن نام و نام خانوادگی ، یک نام وارد کنید.
    2. در انتخابگر تاریخ تولد ، یک تاریخ را انتخاب کنید.
    3. در قسمت نوع مخاطب ، دکمه رادیویی Work یا Personal را انتخاب کنید.
  3. روی بررسی و ارسال کلیک کنید.

  4. در کادر گفتگوی تأیید، اطلاعاتی را که ارسال کرده‌اید مرور کنید و روی «ارسال» کلیک کنید. برنامه چت با یک پیام متنی پاسخ می‌دهد که می‌گوید CONTACT NAME has been added to your contacts.

  5. به صورت اختیاری، می‌توانید فرم تماس را به روش‌های زیر نیز آزمایش و ارسال کنید:

    • از دستور /about slash استفاده کنید. برنامه چت با یک پیام متنی و یک دکمه ویجت لوازم جانبی که می‌گوید Add a contact پاسخ می‌دهد. می‌توانید روی این دکمه کلیک کنید تا یک کادر محاوره‌ای با فرم تماس باز شود.
    • یک پیام مستقیم بدون دستور اسلش، مانند Hello به برنامه چت ارسال کنید. برنامه چت با یک متن و کارت حاوی فرم تماس پاسخ می‌دهد.

تمیز کردن

برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این آموزش، توصیه می‌کنیم پروژه Cloud را حذف کنید.

  1. در کنسول گوگل کلود، به صفحه مدیریت منابع بروید. روی منو > مدیریت و دسترسی به منابع (IAM & Admin) > مدیریت منابع (Manage Resources) کلیک کنید.

    به مدیریت منابع بروید

  2. در لیست پروژه‌ها، پروژه‌ای را که می‌خواهید حذف کنید انتخاب کنید و سپس روی «حذف کلیک کنید.
  3. در کادر محاوره‌ای، شناسه پروژه را تایپ کنید و سپس برای حذف پروژه، روی خاموش کردن (Shut down) کلیک کنید.