تعاملات کاربر را دریافت کرده و به آنها پاسخ دهید

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

در این صفحه نحوه انجام کارهای زیر توضیح داده شده است:

  • برنامه چت خود را برای دریافت رویدادهای تعامل پیکربندی کنید.
  • رویداد تعامل را در زیرساخت خود پردازش کنید.
  • در صورت لزوم، به رویدادهای تعامل پاسخ دهید.

پیش نیازها

یک برنامه Google Chat که برای ویژگی‌های تعاملی فعال است. برای ایجاد یک برنامه چت تعاملی، یکی از شروع سریع زیر را بر اساس معماری برنامه ای که می خواهید استفاده کنید، انجام دهید:

رویدادهای تعامل چگونه کار می کنند

رویداد تعامل برنامه گپ Google نشان‌دهنده هر اقدامی است که کاربر برای فراخوانی یا تعامل با یک برنامه Chat انجام می‌دهد، مانند @ نام بردن از یک برنامه Chat یا افزودن آن به یک فضا. وقتی کاربران با یک برنامه چت تعامل دارند، Google Chat یک رویداد تعاملی را برای برنامه Chat ارسال می کند. برنامه چت می‌تواند از رویداد برای پردازش تعامل و ایجاد پاسخ استفاده کند.

برای مثال، برنامه‌های چت از رویدادهای تعاملی برای انجام یکی از موارد زیر استفاده می‌کنند:

نمونه ای از یک رویداد تعاملی پاسخ معمولی از یک برنامه چت
یک کاربر یک برنامه چت را با ذکر @ یا با استفاده از دستور اسلش فراخوانی می کند. برنامه چت آنچه را که پیام می گوید برای ایجاد یک پیام پردازش می کند. به عنوان مثال، یک برنامه Chat با پیامی به دستور /about پاسخ می دهد که وظایفی را که برنامه Chat می تواند انجام دهد را توضیح می دهد.
کاربر یک برنامه چت را به یک فضا اضافه می کند. برنامه چت پیامی ارسال می کند که توضیح می دهد چه کاری انجام می دهد و چگونه کاربران در فضا می توانند با آن تعامل داشته باشند.
کاربر یک برنامه چت را از یک فضا حذف می کند. برنامه Chat هر گونه اعلان های ورودی را که برای فضا پیکربندی شده اند (مانند حذف یک هوک ) حذف می کند و حافظه داخلی را پاک می کند.
کاربر روی یک کارت یا گفتگوی ارسال شده توسط برنامه چت روی دکمه کلیک می کند. برنامه چت یا هر داده ای را که کاربر ارسال کرده است پردازش و ذخیره می کند، یا کارت یا گفتگوی دیگری را برمی گرداند.

برای هر نوع تعامل کاربر، Google Chat نوع متفاوتی از رویداد تعاملی را ارسال می‌کند که به برنامه چت شما کمک می‌کند تا هر نوع رویداد را مطابق با آن مدیریت کند. به عنوان مثال، Google Chat از نوع رویداد ADDED_TO_SPACE برای هر تعاملی استفاده می‌کند که در آن کاربر برنامه Chat را به یک فضا اضافه می‌کند تا برنامه Chat بتواند پاسخی را انجام دهد، مانند ارسال پیام خوشامدگویی به فضا. برای مشاهده همه رویدادهای تعامل پشتیبانی شده، به مستندات مرجع EventType مراجعه کنید.

رویدادهای تعامل برنامه چت را دریافت کنید

این بخش نحوه دریافت و پردازش رویدادهای تعاملی را برای برنامه چت شما شرح می دهد.

برنامه چت خود را برای دریافت رویدادهای تعامل پیکربندی کنید

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

برای هر یک از ویژگی‌های تعاملی که می‌خواهید بسازید، باید پیکربندی خود را در Chat API به‌روزرسانی کنید تا Google Chat بتواند رویدادهای تعاملی مرتبط را به برنامه Chat شما ارسال کند:

  1. در کنسول Google Cloud، به صفحه Chat API بروید و روی صفحه پیکربندی کلیک کنید:

    به صفحه پیکربندی Chat API بروید

  2. در بخش ویژگی‌های تعاملی ، تنظیمات را مرور کنید و براساس ویژگی‌هایی که می‌خواهید بسازید، به‌روزرسانی کنید:

    میدان توضیحات
    عملکرد مورد نیاز. مجموعه‌ای از فیلدها که نحوه تعامل برنامه چت با کاربران را تعیین می‌کند:
    • دریافت پیام‌های ۱:۱ : کاربران می‌توانند برنامه چت را مستقیماً در چت Google پیدا کنند و پیام دهند.
    • پیوستن به فضاها و مکالمات گروهی : کاربران می توانند برنامه چت را به فضاها و مکالمات گروهی اضافه کنند.
    تنظیمات اتصال مورد نیاز. نقطه پایانی برای برنامه Chat که یکی از موارد زیر است:
    • URL برنامه : یک نقطه پایانی HTTPS که اجرای برنامه Chat را میزبانی می کند.
    • پروژه Apps Script : شناسه استقرار برای پروژه Apps Script که یک برنامه Chat را پیاده سازی می کند.
    • نام موضوع Cloud Pub/Sub : یک موضوع Pub/Sub که برنامه Chat به عنوان نقطه پایانی در آن مشترک شده است.
    • Dialogflow : برنامه Chat را با یکپارچه سازی Dialogflow ثبت می کند. برای اطلاعات بیشتر، به ساخت برنامه گفتگوی Google Chat که زبان طبیعی را می‌فهمد، مراجعه کنید.
    دستورات اسلش اختیاری. دستوراتی که می توانند برای کاربران در چت Google ظاهر شوند. به کاربران اجازه می‌دهد تا عملکردهای اصلی برنامه چت شما را در Google Chat ببینند و اقدام خاصی را که می‌خواهند با آن تعامل داشته باشند انتخاب کنند. برای اطلاعات بیشتر، پاسخ به دستورات اسلش را به‌عنوان برنامه چت ببینید.
    پیش نمایش پیوندها اختیاری. الگوهای نشانی وب که برنامه چت می شناسد و محتوای اضافی را برای زمانی که کاربران پیوند می فرستند ارائه می کند. برای اطلاعات بیشتر، پیش‌نمایش پیوندها را ببینید.
    دید اختیاری. حداکثر پنج نفر یا یک یا چند گروه Google که می‌توانند برنامه چت شما را مشاهده و نصب کنند. از این فیلد برای آزمایش برنامه چت یا اشتراک گذاری برنامه چت با تیم خود استفاده کنید. برای اطلاعات بیشتر، تست ویژگی‌های تعاملی را ببینید.
  3. روی ذخیره کلیک کنید. وقتی پیکربندی برنامه گپ را ذخیره می‌کنید، برنامه گپ شما برای کاربران مشخص‌شده در سازمان Google Workspace شما در دسترس است.

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

کنترل مجدد تماس HTTP برای سرویس شما

اگر درخواست HTTPS به سرویس شما با شکست مواجه شود (مانند مهلت زمانی، خرابی موقت شبکه، یا کد وضعیت غیر 2xx HTTPS)، ممکن است گپ Google چند بار در عرض چند دقیقه تحویل را دوباره امتحان کند (اما این تضمین نمی‌شود). در نتیجه، یک برنامه چت ممکن است در شرایط خاص چند بار یک پیام را دریافت کند. اگر درخواست با موفقیت تکمیل شود اما یک بار پیام نامعتبر برگرداند، Google Chat درخواست را دوباره امتحان نمی‌کند.

رویدادهای تعامل را پردازش کنید یا به آنها پاسخ دهید

این بخش توضیح می‌دهد که چگونه برنامه‌های چت Google می‌توانند رویدادهای تعامل را پردازش کرده و به آن پاسخ دهند.

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

برای پاسخگویی همزمان، یک برنامه چت باید ظرف 30 ثانیه پاسخ دهد و پاسخ باید در فضایی که تعامل رخ داده است پست شود. در غیر این صورت، برنامه چت می تواند به صورت ناهمزمان پاسخ دهد.

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

نمودار زیر نشان می‌دهد که چگونه برنامه چت Google معمولاً انواع مختلف رویدادهای تعاملی را پردازش می‌کند یا به آنها پاسخ می‌دهد:

معماری نحوه پردازش برنامه‌های چت Google وقایع تعامل.

در زمان واقعی پاسخ دهید

رویدادهای تعاملی به برنامه‌های چت اجازه می‌دهند به صورت هم‌زمان یا هم‌زمان پاسخ دهند. پاسخ های همزمان نیازی به احراز هویت ندارند.

به پیوستن به فضا پاسخ دهید

در این مثال، برنامه چت شما هر زمان که به فضایی اضافه شود پیام متنی ایجاد کرده و ارسال می کند. برای آشنایی با بهترین روش‌ها برای ورود کاربران به برنامه، به معرفی کاربران به برنامه چت خود مراجعه کنید.

برای ارسال پیام نوشتاری هنگامی که کاربر برنامه چت شما را به یک فضا اضافه می‌کند، برنامه چت شما به یک رویداد تعاملی ADDED_TO_SPACE پاسخ می‌دهد. برای پاسخ دادن به رویدادهای تعامل ADDED_TO_SPACE با یک پیام متنی، از کد زیر استفاده کنید:

Node.js

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} req The event object from Chat API.
 * @param {Object} res The response object from the Chat app. An onboarding message that
 * introduces the app and helps people get started with it.
 */
exports.onMessage = function onMessage(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    res.send(
      'Hello! This function is meant to be used in a Google Chat space.');
  }

  // Send an onboarding message when added to a Chat space
  if (req.body.type === 'ADDED_TO_SPACE') {
    res.json({
      'text': 'Hi, Cymbal at your service. I help you manage your calendar
      from Google Chat. Take a look at your schedule today by typing
      `/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To
      learn what else I can do, type `/help`.'
    });
  }
};

اسکریپت برنامه ها

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app. An onboarding message that
 * introduces the app and helps people get started with it.
 */
function onAddToSpace(event) {

  return {
    'text': 'Hi, Cymbal at your service. I help you manage your calendar
    from Google Chat. Take a look at your schedule today by typing
    `/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn
    what else I can do, type `/help`.'
  }
}

نمونه کد پیام متنی زیر را برمی گرداند:

نمونه پیام ورود.

نمونه های دیگر از پاسخ به تعاملات

برای ایجاد پاسخ‌های همزمان به رویدادهای تعامل، راهنماهای زیر را ببینید:

به صورت ناهمزمان پاسخ دهید

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

برای ایجاد پیام با استفاده از Chat API، به ایجاد پیام مراجعه کنید. برای راهنمایی در مورد استفاده از روش‌های دیگر Chat API، به نمای کلی Chat API مراجعه کنید.