این صفحه توضیح میدهد که چگونه برنامه Google Chat شما میتواند تعاملات کاربر را دریافت کند و به آن پاسخ دهد، که به عنوان رویدادهای تعامل برنامه چت Google نیز شناخته میشود.
در این صفحه نحوه انجام کارهای زیر توضیح داده شده است:
- برنامه چت خود را برای دریافت رویدادهای تعامل پیکربندی کنید.
- رویداد تعامل را در زیرساخت خود پردازش کنید.
- در صورت لزوم، به رویدادهای تعامل پاسخ دهید.
یک برنامه چت تعاملی به عنوان افزونه Google Workspace بسازید
برای ایجاد یک برنامه چت که با کاربران چت در تعامل است، میتوانید یک افزونه Google Workspace بسازید که گپ را گسترش دهد. برنامه Chat به جای دریافت رویدادهای تعاملی از Chat API، اشیاء رویداد افزودنی را دریافت کرده و به آنها پاسخ می دهد. برای کسب اطلاعات بیشتر، به Extend Google Chat در اسناد افزودنی Google Workspace مراجعه کنید.
پیش نیازها
یک برنامه Google Chat که برای ویژگیهای تعاملی فعال است. برای ایجاد یک برنامه چت تعاملی، یکی از شروع سریع زیر را بر اساس معماری برنامه ای که می خواهید استفاده کنید، انجام دهید:
- سرویس HTTP با توابع Google Cloud
- اسکریپت Google Apps
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
انواع رویدادهای تعاملی
رویداد تعامل برنامه گپ Google نشاندهنده هر اقدامی است که کاربر برای فراخوانی یا تعامل با یک برنامه Chat انجام میدهد، مانند @ نام بردن از یک برنامه Chat یا افزودن آن به یک فضا.
هنگامی که کاربران با یک برنامه گپ تعامل می کنند، Google Chat یک رویداد تعاملی را به برنامه Chat ارسال می کند که به عنوان یک نوع Event
در Chat API نشان داده می شود. برنامه چت می تواند از رویداد برای پردازش تعامل استفاده کند و به صورت اختیاری، با یک پیام پاسخ دهد.
برای هر نوع تعامل کاربر، Google Chat نوع متفاوتی از رویداد تعاملی را ارسال میکند که به برنامه چت شما کمک میکند تا هر نوع رویداد را مطابق با آن مدیریت کند. نوع رویداد تعامل با استفاده از شی eventType
نشان داده می شود.
به عنوان مثال، Google Chat از نوع رویداد ADDED_TO_SPACE
برای هر تعاملی استفاده میکند که در آن کاربر برنامه Chat را به یک فضا اضافه میکند، به طوری که برنامه Chat میتواند بلافاصله با یک پیام خوشآمدگویی در فضا پاسخ دهد .
جدول زیر تعاملات متداول کاربر، نوع رویداد تعاملی که برنامههای گپ دریافت میکنند و نحوه پاسخگویی معمولاً برنامههای چت را نشان میدهد:
تعامل کاربر | eventType | پاسخ معمولی از یک برنامه چت |
---|---|---|
یک کاربر یک برنامه چت را با ذکر @ یا با استفاده از دستور اسلش فراخوانی می کند. | MESSAGE | برنامه چت بر اساس محتوای پیام پاسخ می دهد. به عنوان مثال، یک برنامه Chat با پیامی به دستور /about پاسخ می دهد که وظایفی را که برنامه Chat می تواند انجام دهد را توضیح می دهد. |
کاربر یک برنامه چت را به یک فضا اضافه می کند. | ADDED_TO_SPACE | برنامه چت پیامی ارسال می کند که توضیح می دهد چه کاری انجام می دهد و چگونه کاربران در فضا می توانند با آن تعامل داشته باشند. |
کاربر یک برنامه چت را از یک فضا حذف می کند. | REMOVED_FROM_SPACE | برنامه Chat هر گونه اعلان های ورودی را که برای فضا پیکربندی شده اند (مانند حذف یک هوک ) حذف می کند و حافظه داخلی را پاک می کند. |
کاربر روی یک کارت از پیام، گفتگو یا صفحه اصلی برنامه چت، روی یک دکمه کلیک می کند. | CARD_CLICKED | برنامه چت یا هر داده ای را که کاربر ارسال کرده است پردازش و ذخیره می کند یا کارت دیگری را برمی گرداند. |
یک کاربر صفحه اصلی برنامه چت را با کلیک کردن بر روی برگه صفحه اصلی در یک پیام 1:1 باز می کند. | APP_HOME | برنامه چت یک کارت استاتیک یا تعاملی را از صفحه اصلی برمیگرداند. |
یک کاربر فرمی را از صفحه اصلی برنامه چت ارسال می کند. | SUBMIT_FORM | برنامه چت یا هر داده ای را که کاربر ارسال کرده است پردازش و ذخیره می کند یا کارت دیگری را برمی گرداند. |
برای مشاهده همه رویدادهای تعامل پشتیبانی شده، به مستندات مرجع EventType
مراجعه کنید.
رویدادهای تعامل از دیالوگ ها
اگر برنامه گپ شما گفتگوها را باز می کند، رویداد تعامل حاوی اطلاعات اضافی زیر است که می توانید برای پردازش پاسخ از آنها استفاده کنید:
-
isDialogEvent
رویtrue
تنظیم شده است. -
DialogEventType
روشن می کند که آیا تعامل باعث باز شدن یک گفتگو می شود، اطلاعات را از یک گفتگو ارسال می کند یا یک گفتگو را می بندد.
جدول زیر تعاملات رایج با دیالوگها، انواع رویداد گفتگوی مربوطه، و توضیحی در مورد نحوه پاسخگویی معمولاً برنامههای چت را نشان میدهد:
تعامل کاربر با دیالوگ | نوع رویداد گفتگو | پاسخ معمولی |
---|---|---|
یک کاربر یک درخواست گفتگو را راه اندازی می کند. به عنوان مثال، آنها از یک دستور اسلش استفاده می کنند یا روی دکمه ای از یک پیام کلیک می کنند. | REQUEST_DIALOG | برنامه چت گفتگو را باز می کند. |
کاربر با کلیک بر روی یک دکمه اطلاعات را در کادر گفتگو ارسال می کند. | SUBMIT_DIALOG | برنامه چت یا به گفتگوی دیگری می رود یا برای تکمیل تعامل، گفتگو را می بندد. |
یک کاربر قبل از ارسال اطلاعات از گفتگو خارج می شود یا می بندد. | CANCEL_DIALOG | در صورت تمایل، برنامه چت میتواند با یک پیام جدید پاسخ دهد، یا پیام یا کارتی را که کاربر گفتگو را از آن باز کرده است، بهروزرسانی کند. |
برای اطلاعات بیشتر، باز کردن گفتگوهای تعاملی را ببینید.
رویدادهای تعامل برنامه چت را دریافت کنید
این بخش نحوه دریافت و پردازش رویدادهای تعاملی را برای برنامه چت شما شرح می دهد.
برنامه چت خود را برای دریافت رویدادهای تعامل پیکربندی کنید
همه برنامههای چت تعاملی نیستند. به عنوان مثال، وب هوک های ورودی فقط می توانند پیام های خروجی ارسال کنند و نمی توانند به کاربران پاسخ دهند. اگر در حال ساختن یک برنامه چت تعاملی هستید، باید نقطه پایانی را انتخاب کنید که به برنامه چت شما اجازه میدهد رویدادهای تعاملی را دریافت، پردازش و پاسخ دهد. برای کسب اطلاعات بیشتر در مورد طراحی برنامه چت، به معماری های اجرای برنامه های گپ مراجعه کنید.
برای هر یک از ویژگیهای تعاملی که میخواهید بسازید، باید پیکربندی خود را در Chat API بهروزرسانی کنید تا Google Chat بتواند رویدادهای تعاملی مرتبط را به برنامه Chat شما ارسال کند:
در کنسول Google Cloud، به صفحه Chat API بروید و روی صفحه پیکربندی کلیک کنید:
در بخش ویژگیهای تعاملی ، تنظیمات را مرور کنید و براساس ویژگیهایی که میخواهید بسازید، بهروزرسانی کنید:
میدان توضیحات کارکرد مورد نیاز. مجموعهای از فیلدها که نحوه تعامل برنامه چت با کاربران را تعیین میکند: - دریافت پیامهای ۱:۱ : کاربران میتوانند برنامه چت را مستقیماً در چت Google پیدا کنند و پیام دهند.
- پیوستن به فضاها و مکالمات گروهی : کاربران می توانند برنامه چت را به فضاها و مکالمات گروهی اضافه کنند.
تنظیمات اتصال مورد نیاز. نقطه پایانی برای برنامه Chat که یکی از موارد زیر است: - URL نقطه پایانی HTTP : یک نقطه پایانی HTTPS که میزبان اجرای برنامه چت است.
- Apps Script : شناسه استقرار برای پروژه Apps Script که یک برنامه Chat را پیاده سازی می کند.
- نام موضوع Cloud Pub/Sub : یک موضوع Pub/Sub که برنامه Chat به عنوان نقطه پایانی در آن مشترک شده است.
- Dialogflow : برنامه Chat را با یکپارچه سازی Dialogflow ثبت می کند. برای اطلاعات بیشتر، به ساخت برنامه گفتگوی Google Chat که زبان طبیعی را میفهمد، مراجعه کنید.
دستورات اسلش اختیاری. دستوراتی که می توانند برای کاربران در چت Google ظاهر شوند. به کاربران اجازه میدهد تا عملکردهای اصلی برنامه چت شما را در Google Chat ببینند و اقدام خاصی را که میخواهند با آن تعامل داشته باشند انتخاب کنند. برای اطلاعات بیشتر، پاسخ به دستورات اسلش را بهعنوان برنامه چت ببینید. پیش نمایش پیوندها اختیاری. الگوهای نشانی وب که برنامه چت می شناسد و محتوای اضافی را برای زمانی که کاربران پیوند می فرستند ارائه می کند. برای اطلاعات بیشتر، پیشنمایش پیوندها را ببینید. دید اختیاری. حداکثر پنج نفر یا یک یا چند گروه Google که میتوانند برنامه چت شما را مشاهده و نصب کنند. از این فیلد برای آزمایش برنامه چت یا اشتراک گذاری برنامه چت با تیم خود استفاده کنید. برای اطلاعات بیشتر، تست ویژگیهای تعاملی را ببینید. روی ذخیره کلیک کنید. وقتی پیکربندی برنامه گپ را ذخیره میکنید، برنامه گپ شما برای کاربران مشخصشده در سازمان Google Workspace شما در دسترس است.
برنامه چت شما اکنون برای دریافت رویدادهای تعاملی از گپ Google پیکربندی شده است.
مدیریت تماس های مجدد HTTP برای سرویس شما
اگر درخواست HTTPS به سرویس شما با شکست مواجه شود (مانند مهلت زمانی، خرابی موقت شبکه، یا کد وضعیت غیر 2xx HTTPS)، ممکن است گپ Google چند بار در عرض چند دقیقه تحویل را دوباره امتحان کند (اما این تضمین نمیشود). در نتیجه، یک برنامه چت ممکن است در شرایط خاص چند بار پیام مشابهی را دریافت کند. اگر درخواست با موفقیت تکمیل شود اما یک بار پیام نامعتبر برگرداند، Google Chat درخواست را دوباره امتحان نمیکند.
رویدادهای تعامل را پردازش کنید یا به آنها پاسخ دهید
این بخش توضیح میدهد که چگونه برنامههای چت Google میتوانند رویدادهای تعامل را پردازش کرده و به آن پاسخ دهند.
پس از اینکه برنامه چت شما یک رویداد تعاملی از چت Google دریافت کرد، میتواند به طرق مختلف پاسخ دهد. در بسیاری از موارد، برنامه های چت تعاملی با یک پیام به کاربر پاسخ می دهند. برنامه Google Chat همچنین میتواند برخی از اطلاعات را از منبع داده جستجو کند، اطلاعات رویداد تعامل یا تقریباً هر چیز دیگری را ضبط کند. این رفتار پردازشی اساساً همان چیزی است که برنامه Google Chat را تعریف می کند.
برای پاسخگویی همزمان، یک برنامه چت باید ظرف 30 ثانیه پاسخ دهد و پاسخ باید در فضایی که تعامل رخ داده است پست شود. در غیر این صورت، برنامه چت می تواند به صورت ناهمزمان پاسخ دهد.
برای هر رویداد تعاملی، برنامههای گپ یک بدنه درخواست دریافت میکنند که بار JSON است که رویداد را نشان میدهد. می توانید از اطلاعات برای پردازش پاسخ استفاده کنید. برای نمونههایی از بارهای رویداد، به انواع رویدادهای تعامل برنامه گپ مراجعه کنید.
نمودار زیر نشان میدهد که برنامه Google Chat معمولاً چگونه انواع مختلف رویدادهای تعاملی را پردازش میکند یا به آنها پاسخ میدهد:
در زمان واقعی پاسخ دهید
رویدادهای تعاملی به برنامههای چت اجازه میدهند به صورت همزمان یا همزمان پاسخ دهند. پاسخ های همزمان نیازی به احراز هویت ندارند.
برای پاسخگویی در زمان واقعی، برنامه چت باید یک شیء Message
برگرداند. برای پاسخ دادن با یک پیام در فضای خالی، شی Message
میتواند شامل text
، cardsV2
و اشیاء accessoryWidgets
باشد. برای استفاده با انواع دیگر پاسخ ها، راهنماهای زیر را ببینید:
با پیام پاسخ دهید
در این مثال، برنامه چت شما هر زمان که به فضایی اضافه شود پیام متنی ایجاد کرده و ارسال می کند. برای آشنایی با بهترین روشها برای ورود کاربران به برنامه، به معرفی کاربران به برنامه گپ خود مراجعه کنید.
برای ارسال پیام نوشتاری هنگامی که کاربر برنامه چت شما را به یک فضا اضافه میکند، برنامه چت شما به یک رویداد تعاملی 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 مراجعه کنید.
موضوعات مرتبط
- ارسال پیام
- گفتگوهای تعاملی را باز کنید
- پیش نمایش لینک ها
- اطلاعات ورودی فرم توسط کاربران را روی کارت بخوانید
- به دستورات اسلش پاسخ دهید
- یک صفحه اصلی برای یک برنامه چت بسازید
- درخواستهای چت را تأیید کنید
- ویژگیهای تعاملی را برای برنامههای Google Chat آزمایش کنید
این صفحه توضیح میدهد که چگونه برنامه Google Chat شما میتواند تعاملات کاربر را دریافت کند و به آن پاسخ دهد، که به عنوان رویدادهای تعامل برنامه چت Google نیز شناخته میشود.
در این صفحه نحوه انجام کارهای زیر توضیح داده شده است:
- برنامه چت خود را برای دریافت رویدادهای تعامل پیکربندی کنید.
- رویداد تعامل را در زیرساخت خود پردازش کنید.
- در صورت لزوم، به رویدادهای تعامل پاسخ دهید.
یک برنامه چت تعاملی به عنوان افزونه Google Workspace بسازید
برای ایجاد یک برنامه چت که با کاربران چت در تعامل است، میتوانید یک افزونه Google Workspace بسازید که گپ را گسترش دهد. برنامه Chat به جای دریافت رویدادهای تعاملی از Chat API، اشیاء رویداد افزودنی را دریافت کرده و به آنها پاسخ می دهد. برای کسب اطلاعات بیشتر، به Extend Google Chat در اسناد افزودنی Google Workspace مراجعه کنید.
پیش نیازها
یک برنامه Google Chat که برای ویژگیهای تعاملی فعال است. برای ایجاد یک برنامه چت تعاملی، یکی از شروع سریع زیر را بر اساس معماری برنامه ای که می خواهید استفاده کنید، انجام دهید:
- سرویس HTTP با توابع Google Cloud
- اسکریپت Google Apps
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
انواع رویدادهای تعاملی
رویداد تعامل برنامه گپ Google نشاندهنده هر اقدامی است که کاربر برای فراخوانی یا تعامل با یک برنامه Chat انجام میدهد، مانند @ نام بردن از یک برنامه Chat یا افزودن آن به یک فضا.
هنگامی که کاربران با یک برنامه گپ تعامل می کنند، Google Chat یک رویداد تعاملی را به برنامه Chat ارسال می کند که به عنوان یک نوع Event
در Chat API نشان داده می شود. برنامه چت می تواند از رویداد برای پردازش تعامل استفاده کند و به صورت اختیاری، با یک پیام پاسخ دهد.
برای هر نوع تعامل کاربر، Google Chat نوع متفاوتی از رویداد تعاملی را ارسال میکند که به برنامه چت شما کمک میکند تا هر نوع رویداد را مطابق با آن مدیریت کند. نوع رویداد تعامل با استفاده از شی eventType
نشان داده می شود.
به عنوان مثال، Google Chat از نوع رویداد ADDED_TO_SPACE
برای هر تعاملی استفاده میکند که در آن کاربر برنامه Chat را به یک فضا اضافه میکند، به طوری که برنامه Chat میتواند بلافاصله با یک پیام خوشآمدگویی در فضا پاسخ دهد .
جدول زیر تعاملات متداول کاربر، نوع رویداد تعاملی که برنامههای گپ دریافت میکنند و نحوه پاسخگویی معمولاً برنامههای چت را نشان میدهد:
تعامل کاربر | eventType | پاسخ معمولی از یک برنامه چت |
---|---|---|
یک کاربر یک برنامه چت را با ذکر @ یا با استفاده از دستور اسلش فراخوانی می کند. | MESSAGE | برنامه چت بر اساس محتوای پیام پاسخ می دهد. به عنوان مثال، یک برنامه Chat با پیامی به دستور /about پاسخ می دهد که وظایفی را که برنامه Chat می تواند انجام دهد را توضیح می دهد. |
کاربر یک برنامه چت را به یک فضا اضافه می کند. | ADDED_TO_SPACE | برنامه چت پیامی ارسال می کند که توضیح می دهد چه کاری انجام می دهد و چگونه کاربران در فضا می توانند با آن تعامل داشته باشند. |
کاربر یک برنامه چت را از یک فضا حذف می کند. | REMOVED_FROM_SPACE | برنامه Chat هر گونه اعلان های ورودی را که برای فضا پیکربندی شده اند (مانند حذف یک هوک ) حذف می کند و حافظه داخلی را پاک می کند. |
کاربر روی یک کارت از پیام، گفتگو یا صفحه اصلی برنامه چت، روی یک دکمه کلیک می کند. | CARD_CLICKED | برنامه چت یا هر داده ای را که کاربر ارسال کرده است پردازش و ذخیره می کند یا کارت دیگری را برمی گرداند. |
یک کاربر صفحه اصلی برنامه چت را با کلیک کردن بر روی برگه صفحه اصلی در یک پیام 1:1 باز می کند. | APP_HOME | برنامه چت یک کارت استاتیک یا تعاملی را از صفحه اصلی برمیگرداند. |
یک کاربر فرمی را از صفحه اصلی برنامه چت ارسال می کند. | SUBMIT_FORM | برنامه چت یا هر داده ای را که کاربر ارسال کرده است پردازش و ذخیره می کند یا کارت دیگری را برمی گرداند. |
برای مشاهده همه رویدادهای تعامل پشتیبانی شده، به مستندات مرجع EventType
مراجعه کنید.
رویدادهای تعامل از دیالوگ ها
اگر برنامه گپ شما گفتگوها را باز می کند، رویداد تعامل حاوی اطلاعات اضافی زیر است که می توانید برای پردازش پاسخ از آنها استفاده کنید:
-
isDialogEvent
رویtrue
تنظیم شده است. -
DialogEventType
روشن می کند که آیا تعامل باعث باز شدن یک گفتگو می شود، اطلاعات را از یک گفتگو ارسال می کند یا یک گفتگو را می بندد.
جدول زیر تعاملات رایج با دیالوگها، انواع رویداد گفتگوی مربوطه، و توضیحی در مورد نحوه پاسخگویی معمولاً برنامههای چت را نشان میدهد:
تعامل کاربر با دیالوگ | نوع رویداد گفتگو | پاسخ معمولی |
---|---|---|
یک کاربر یک درخواست گفتگو را راه اندازی می کند. به عنوان مثال، آنها از یک دستور اسلش استفاده می کنند یا روی دکمه ای از یک پیام کلیک می کنند. | REQUEST_DIALOG | برنامه چت گفتگو را باز می کند. |
کاربر با کلیک بر روی یک دکمه اطلاعات را در کادر گفتگو ارسال می کند. | SUBMIT_DIALOG | برنامه چت یا به گفتگوی دیگری می رود یا برای تکمیل تعامل، گفتگو را می بندد. |
یک کاربر قبل از ارسال اطلاعات از گفتگو خارج می شود یا می بندد. | CANCEL_DIALOG | در صورت تمایل، برنامه چت میتواند با یک پیام جدید پاسخ دهد، یا پیام یا کارتی را که کاربر گفتگو را از آن باز کرده است، بهروزرسانی کند. |
برای اطلاعات بیشتر، باز کردن گفتگوهای تعاملی را ببینید.
رویدادهای تعامل برنامه چت را دریافت کنید
این بخش نحوه دریافت و پردازش رویدادهای تعاملی را برای برنامه چت شما شرح می دهد.
برنامه چت خود را برای دریافت رویدادهای تعامل پیکربندی کنید
همه برنامههای چت تعاملی نیستند. به عنوان مثال، وب هوک های ورودی فقط می توانند پیام های خروجی ارسال کنند و نمی توانند به کاربران پاسخ دهند. اگر در حال ساختن یک برنامه چت تعاملی هستید، باید نقطه پایانی را انتخاب کنید که به برنامه چت شما اجازه میدهد رویدادهای تعاملی را دریافت، پردازش و پاسخ دهد. برای کسب اطلاعات بیشتر در مورد طراحی برنامه چت، به معماری های اجرای برنامه های گپ مراجعه کنید.
برای هر یک از ویژگیهای تعاملی که میخواهید بسازید، باید پیکربندی خود را در Chat API بهروزرسانی کنید تا Google Chat بتواند رویدادهای تعاملی مرتبط را به برنامه Chat شما ارسال کند:
در کنسول Google Cloud، به صفحه Chat API بروید و روی صفحه پیکربندی کلیک کنید:
در بخش ویژگیهای تعاملی ، تنظیمات را مرور کنید و براساس ویژگیهایی که میخواهید بسازید، بهروزرسانی کنید:
میدان توضیحات کارکرد مورد نیاز. مجموعهای از فیلدها که نحوه تعامل برنامه چت با کاربران را تعیین میکند: - دریافت پیامهای ۱:۱ : کاربران میتوانند برنامه چت را مستقیماً در چت Google پیدا کنند و پیام دهند.
- پیوستن به فضاها و مکالمات گروهی : کاربران می توانند برنامه چت را به فضاها و مکالمات گروهی اضافه کنند.
تنظیمات اتصال مورد نیاز. نقطه پایانی برای برنامه Chat که یکی از موارد زیر است: - URL نقطه پایانی HTTP : یک نقطه پایانی HTTPS که میزبان اجرای برنامه چت است.
- Apps Script : شناسه استقرار برای پروژه Apps Script که یک برنامه Chat را پیاده سازی می کند.
- نام موضوع Cloud Pub/Sub : یک موضوع Pub/Sub که برنامه Chat به عنوان نقطه پایانی در آن مشترک شده است.
- Dialogflow : برنامه Chat را با یکپارچه سازی Dialogflow ثبت می کند. برای اطلاعات بیشتر، به ساخت برنامه گفتگوی Google Chat که زبان طبیعی را میفهمد، مراجعه کنید.
دستورات اسلش اختیاری. دستوراتی که می توانند برای کاربران در چت Google ظاهر شوند. به کاربران اجازه میدهد تا عملکردهای اصلی برنامه چت شما را در Google Chat ببینند و اقدام خاصی را که میخواهند با آن تعامل داشته باشند انتخاب کنند. برای اطلاعات بیشتر، پاسخ به دستورات اسلش را بهعنوان برنامه چت ببینید. پیش نمایش پیوندها اختیاری. الگوهای نشانی وب که برنامه چت می شناسد و محتوای اضافی را برای زمانی که کاربران پیوند می فرستند ارائه می کند. برای اطلاعات بیشتر، پیشنمایش پیوندها را ببینید. دید اختیاری. حداکثر پنج نفر یا یک یا چند گروه Google که میتوانند برنامه چت شما را مشاهده و نصب کنند. از این فیلد برای آزمایش برنامه چت یا اشتراک گذاری برنامه چت با تیم خود استفاده کنید. برای اطلاعات بیشتر، تست ویژگیهای تعاملی را ببینید. روی ذخیره کلیک کنید. وقتی پیکربندی برنامه گپ را ذخیره میکنید، برنامه گپ شما برای کاربران مشخصشده در سازمان Google Workspace شما در دسترس است.
برنامه چت شما اکنون برای دریافت رویدادهای تعاملی از گپ Google پیکربندی شده است.
کنترل مجدد تماس HTTP برای سرویس شما
اگر درخواست HTTPS به سرویس شما با شکست مواجه شود (مانند مهلت زمانی، خرابی موقت شبکه، یا کد وضعیت غیر 2xx HTTPS)، ممکن است گپ Google چند بار در عرض چند دقیقه تحویل را دوباره امتحان کند (اما این تضمین نمیشود). در نتیجه، یک برنامه چت ممکن است در شرایط خاص چند بار پیام مشابهی را دریافت کند. اگر درخواست با موفقیت تکمیل شود اما یک بار پیام نامعتبر برگرداند، Google Chat درخواست را دوباره امتحان نمیکند.
رویدادهای تعامل را پردازش کنید یا به آنها پاسخ دهید
این بخش توضیح میدهد که چگونه برنامههای چت Google میتوانند رویدادهای تعامل را پردازش کرده و به آن پاسخ دهند.
پس از اینکه برنامه چت شما یک رویداد تعاملی از چت Google دریافت کرد، میتواند به طرق مختلف پاسخ دهد. در بسیاری از موارد، برنامه های چت تعاملی با یک پیام به کاربر پاسخ می دهند. برنامه Google Chat همچنین میتواند برخی از اطلاعات را از منبع داده جستجو کند، اطلاعات رویداد تعامل یا تقریباً هر چیز دیگری را ضبط کند. این رفتار پردازشی اساساً همان چیزی است که برنامه Google Chat را تعریف می کند.
برای پاسخگویی همزمان، یک برنامه چت باید ظرف 30 ثانیه پاسخ دهد و پاسخ باید در فضایی که تعامل رخ داده است پست شود. در غیر این صورت، برنامه چت می تواند به صورت ناهمزمان پاسخ دهد.
برای هر رویداد تعاملی، برنامههای گپ یک بدنه درخواست دریافت میکنند که بار JSON است که رویداد را نشان میدهد. می توانید از اطلاعات برای پردازش پاسخ استفاده کنید. برای نمونههایی از بارهای رویداد، به انواع رویدادهای تعامل برنامه گپ مراجعه کنید.
نمودار زیر نشان میدهد که برنامه Google Chat معمولاً چگونه انواع مختلف رویدادهای تعاملی را پردازش میکند یا به آنها پاسخ میدهد:
در زمان واقعی پاسخ دهید
رویدادهای تعاملی به برنامههای چت اجازه میدهند به صورت همزمان یا همزمان پاسخ دهند. پاسخ های همزمان نیازی به احراز هویت ندارند.
برای پاسخگویی در زمان واقعی، برنامه چت باید یک شیء Message
برگرداند. برای پاسخ دادن با یک پیام در فضای خالی، شی Message
میتواند شامل text
، cardsV2
و اشیاء accessoryWidgets
باشد. برای استفاده با انواع دیگر پاسخ ها، راهنماهای زیر را ببینید:
با پیام پاسخ دهید
در این مثال، برنامه چت شما هر زمان که به فضایی اضافه شود پیام متنی ایجاد کرده و ارسال می کند. برای آشنایی با بهترین روشها برای ورود کاربران به برنامه، به معرفی کاربران به برنامه گپ خود مراجعه کنید.
برای ارسال پیام نوشتاری هنگامی که کاربر برنامه چت شما را به یک فضا اضافه میکند، برنامه چت شما به یک رویداد تعاملی 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 مراجعه کنید.
موضوعات مرتبط
- ارسال پیام
- گفتگوهای تعاملی را باز کنید
- پیش نمایش لینک ها
- اطلاعات ورودی فرم توسط کاربران را روی کارت بخوانید
- به دستورات اسلش پاسخ دهید
- یک صفحه اصلی برای یک برنامه چت بسازید
- درخواستهای چت را تأیید کنید
- ویژگیهای تعاملی را برای برنامههای Google Chat آزمایش کنید
این صفحه توضیح میدهد که چگونه برنامه Google Chat شما میتواند تعاملات کاربر را دریافت کند و به آن پاسخ دهد، که به عنوان رویدادهای تعامل برنامه چت Google نیز شناخته میشود.
در این صفحه نحوه انجام کارهای زیر توضیح داده شده است:
- برنامه چت خود را برای دریافت رویدادهای تعامل پیکربندی کنید.
- رویداد تعامل را در زیرساخت خود پردازش کنید.
- در صورت لزوم، به رویدادهای تعامل پاسخ دهید.
یک برنامه چت تعاملی به عنوان افزونه Google Workspace بسازید
برای ایجاد یک برنامه چت که با کاربران چت در تعامل است، میتوانید یک افزونه Google Workspace بسازید که گپ را گسترش دهد. برنامه Chat به جای دریافت رویدادهای تعاملی از Chat API، اشیاء رویداد افزودنی را دریافت کرده و به آنها پاسخ می دهد. برای کسب اطلاعات بیشتر، به Extend Google Chat در اسناد افزودنی Google Workspace مراجعه کنید.
پیش نیازها
یک برنامه Google Chat که برای ویژگیهای تعاملی فعال است. برای ایجاد یک برنامه چت تعاملی، یکی از شروع سریع زیر را بر اساس معماری برنامه ای که می خواهید استفاده کنید، انجام دهید:
- سرویس HTTP با توابع Google Cloud
- اسکریپت Google Apps
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
انواع رویدادهای تعاملی
رویداد تعامل برنامه گپ Google نشاندهنده هر اقدامی است که کاربر برای فراخوانی یا تعامل با یک برنامه Chat انجام میدهد، مانند @ نام بردن از یک برنامه Chat یا افزودن آن به یک فضا.
هنگامی که کاربران با یک برنامه گپ تعامل می کنند، Google Chat یک رویداد تعاملی را به برنامه Chat ارسال می کند که به عنوان یک نوع Event
در Chat API نشان داده می شود. برنامه چت می تواند از رویداد برای پردازش تعامل استفاده کند و به صورت اختیاری، با یک پیام پاسخ دهد.
برای هر نوع تعامل کاربر، Google Chat نوع متفاوتی از رویداد تعاملی را ارسال میکند که به برنامه چت شما کمک میکند تا هر نوع رویداد را مطابق با آن مدیریت کند. نوع رویداد تعامل با استفاده از شی eventType
نشان داده می شود.
به عنوان مثال، Google Chat از نوع رویداد ADDED_TO_SPACE
برای هر تعاملی استفاده میکند که در آن کاربر برنامه Chat را به یک فضا اضافه میکند، به طوری که برنامه Chat میتواند بلافاصله با یک پیام خوشآمدگویی در فضا پاسخ دهد .
جدول زیر تعاملات متداول کاربر، نوع رویداد تعاملی که برنامههای گپ دریافت میکنند و نحوه پاسخگویی معمولاً برنامههای چت را نشان میدهد:
تعامل کاربر | eventType | پاسخ معمولی از یک برنامه چت |
---|---|---|
یک کاربر یک برنامه چت را با ذکر @ یا با استفاده از دستور اسلش فراخوانی می کند. | MESSAGE | برنامه چت بر اساس محتوای پیام پاسخ می دهد. به عنوان مثال، یک برنامه Chat با پیامی به دستور /about پاسخ می دهد که وظایفی را که برنامه Chat می تواند انجام دهد را توضیح می دهد. |
کاربر یک برنامه چت را به یک فضا اضافه می کند. | ADDED_TO_SPACE | برنامه چت پیامی ارسال می کند که توضیح می دهد چه کاری انجام می دهد و چگونه کاربران در فضا می توانند با آن تعامل داشته باشند. |
کاربر یک برنامه چت را از یک فضا حذف می کند. | REMOVED_FROM_SPACE | برنامه Chat هر گونه اعلان های ورودی را که برای فضا پیکربندی شده اند (مانند حذف یک هوک ) حذف می کند و حافظه داخلی را پاک می کند. |
کاربر روی یک کارت از پیام، گفتگو یا صفحه اصلی برنامه چت، روی یک دکمه کلیک می کند. | CARD_CLICKED | برنامه چت یا هر داده ای را که کاربر ارسال کرده است پردازش و ذخیره می کند یا کارت دیگری را برمی گرداند. |
یک کاربر صفحه اصلی برنامه چت را با کلیک کردن بر روی برگه صفحه اصلی در یک پیام 1:1 باز می کند. | APP_HOME | برنامه چت یک کارت استاتیک یا تعاملی را از صفحه اصلی برمیگرداند. |
یک کاربر فرمی را از صفحه اصلی برنامه چت ارسال می کند. | SUBMIT_FORM | برنامه چت یا هر داده ای را که کاربر ارسال کرده است پردازش و ذخیره می کند یا کارت دیگری را برمی گرداند. |
برای مشاهده همه رویدادهای تعامل پشتیبانی شده، به مستندات مرجع EventType
مراجعه کنید.
رویدادهای تعامل از دیالوگ ها
اگر برنامه گپ شما گفتگوها را باز می کند، رویداد تعامل حاوی اطلاعات اضافی زیر است که می توانید برای پردازش پاسخ از آنها استفاده کنید:
-
isDialogEvent
رویtrue
تنظیم شده است. -
DialogEventType
روشن می کند که آیا تعامل باعث باز شدن یک گفتگو می شود، اطلاعات را از یک گفتگو ارسال می کند یا یک گفتگو را می بندد.
جدول زیر تعاملات رایج با دیالوگها، انواع رویداد گفتگوی مربوطه، و توضیحی در مورد نحوه پاسخگویی معمولاً برنامههای چت را نشان میدهد:
تعامل کاربر با دیالوگ | نوع رویداد گفتگو | پاسخ معمولی |
---|---|---|
یک کاربر یک درخواست گفتگو را راه اندازی می کند. به عنوان مثال، آنها از یک دستور اسلش استفاده می کنند یا روی دکمه ای از یک پیام کلیک می کنند. | REQUEST_DIALOG | برنامه چت گفتگو را باز می کند. |
کاربر با کلیک بر روی یک دکمه اطلاعات را در کادر گفتگو ارسال می کند. | SUBMIT_DIALOG | برنامه چت یا به گفتگوی دیگری می رود یا برای تکمیل تعامل، گفتگو را می بندد. |
یک کاربر قبل از ارسال اطلاعات از گفتگو خارج می شود یا می بندد. | CANCEL_DIALOG | در صورت تمایل، برنامه چت میتواند با یک پیام جدید پاسخ دهد، یا پیام یا کارتی را که کاربر گفتگو را از آن باز کرده است، بهروزرسانی کند. |
برای اطلاعات بیشتر، باز کردن گفتگوهای تعاملی را ببینید.
رویدادهای تعامل برنامه چت را دریافت کنید
این بخش نحوه دریافت و پردازش رویدادهای تعاملی را برای برنامه چت شما شرح می دهد.
برنامه چت خود را برای دریافت رویدادهای تعامل پیکربندی کنید
همه برنامههای چت تعاملی نیستند. به عنوان مثال، وب هوک های ورودی فقط می توانند پیام های خروجی ارسال کنند و نمی توانند به کاربران پاسخ دهند. اگر در حال ساختن یک برنامه چت تعاملی هستید، باید نقطه پایانی را انتخاب کنید که به برنامه چت شما اجازه میدهد رویدادهای تعاملی را دریافت، پردازش و پاسخ دهد. برای کسب اطلاعات بیشتر در مورد طراحی برنامه چت، به معماری های اجرای برنامه های گپ مراجعه کنید.
برای هر یک از ویژگیهای تعاملی که میخواهید بسازید، باید پیکربندی خود را در Chat API بهروزرسانی کنید تا Google Chat بتواند رویدادهای تعاملی مرتبط را به برنامه Chat شما ارسال کند:
در کنسول Google Cloud، به صفحه Chat API بروید و روی صفحه پیکربندی کلیک کنید:
در بخش ویژگیهای تعاملی ، تنظیمات را مرور کنید و براساس ویژگیهایی که میخواهید بسازید، بهروزرسانی کنید:
میدان توضیحات کارکرد مورد نیاز. مجموعهای از فیلدها که نحوه تعامل برنامه چت با کاربران را تعیین میکند: - دریافت پیامهای ۱:۱ : کاربران میتوانند برنامه چت را مستقیماً در چت Google پیدا کنند و پیام دهند.
- پیوستن به فضاها و مکالمات گروهی : کاربران می توانند برنامه چت را به فضاها و مکالمات گروهی اضافه کنند.
تنظیمات اتصال مورد نیاز. نقطه پایانی برای برنامه Chat که یکی از موارد زیر است: - URL نقطه پایانی HTTP : یک نقطه پایانی HTTPS که میزبان اجرای برنامه چت است.
- Apps Script : شناسه استقرار برای پروژه Apps Script که یک برنامه Chat را پیاده سازی می کند.
- نام موضوع Cloud Pub/Sub : یک موضوع Pub/Sub که برنامه Chat به عنوان نقطه پایانی در آن مشترک شده است.
- Dialogflow : برنامه Chat را با یکپارچه سازی Dialogflow ثبت می کند. برای اطلاعات بیشتر، به ساخت برنامه گفتگوی Google Chat که زبان طبیعی را میفهمد، مراجعه کنید.
دستورات اسلش اختیاری. دستوراتی که می توانند برای کاربران در چت Google ظاهر شوند. به کاربران اجازه میدهد تا عملکردهای اصلی برنامه چت شما را در Google Chat ببینند و اقدام خاصی را که میخواهند با آن تعامل داشته باشند انتخاب کنند. برای اطلاعات بیشتر، پاسخ به دستورات اسلش را بهعنوان برنامه چت ببینید. پیش نمایش پیوندها اختیاری. الگوهای نشانی وب که برنامه چت می شناسد و محتوای اضافی را برای زمانی که کاربران پیوند می فرستند ارائه می کند. برای اطلاعات بیشتر، پیشنمایش پیوندها را ببینید. دید اختیاری. حداکثر پنج نفر یا یک یا چند گروه Google که میتوانند برنامه چت شما را مشاهده و نصب کنند. از این فیلد برای آزمایش برنامه چت یا اشتراک گذاری برنامه چت با تیم خود استفاده کنید. برای اطلاعات بیشتر، تست ویژگیهای تعاملی را ببینید. روی ذخیره کلیک کنید. وقتی پیکربندی برنامه گپ را ذخیره میکنید، برنامه گپ شما برای کاربران مشخصشده در سازمان Google Workspace شما در دسترس است.
برنامه چت شما اکنون برای دریافت رویدادهای تعاملی از گپ Google پیکربندی شده است.
مدیریت تماس های مجدد HTTP برای سرویس شما
اگر درخواست HTTPS به سرویس شما با شکست مواجه شود (مانند مهلت زمانی، خرابی موقت شبکه، یا کد وضعیت غیر 2xx HTTPS)، ممکن است گپ Google چند بار در عرض چند دقیقه تحویل را دوباره امتحان کند (اما این تضمین نمیشود). در نتیجه، یک برنامه چت ممکن است در شرایط خاص چند بار پیام مشابهی را دریافت کند. اگر درخواست با موفقیت تکمیل شود اما یک بار پیام نامعتبر برگرداند، Google Chat درخواست را دوباره امتحان نمیکند.
رویدادهای تعامل را پردازش کنید یا به آنها پاسخ دهید
این بخش توضیح میدهد که چگونه برنامههای چت Google میتوانند رویدادهای تعامل را پردازش کرده و به آن پاسخ دهند.
پس از اینکه برنامه چت شما یک رویداد تعاملی از چت Google دریافت کرد، میتواند به طرق مختلف پاسخ دهد. در بسیاری از موارد، برنامه های چت تعاملی با یک پیام به کاربر پاسخ می دهند. برنامه Google Chat همچنین میتواند برخی از اطلاعات را از منبع داده جستجو کند، اطلاعات رویداد تعامل یا تقریباً هر چیز دیگری را ضبط کند. این رفتار پردازشی اساساً همان چیزی است که برنامه Google Chat را تعریف می کند.
برای پاسخگویی همزمان، یک برنامه چت باید ظرف 30 ثانیه پاسخ دهد و پاسخ باید در فضایی که تعامل رخ داده است پست شود. در غیر این صورت، برنامه چت می تواند به صورت ناهمزمان پاسخ دهد.
برای هر رویداد تعاملی، برنامههای گپ یک بدنه درخواست دریافت میکنند که بار JSON است که رویداد را نشان میدهد. می توانید از اطلاعات برای پردازش پاسخ استفاده کنید. برای نمونههایی از بارهای رویداد، به انواع رویدادهای تعامل برنامه گپ مراجعه کنید.
نمودار زیر نشان میدهد که برنامه Google Chat معمولاً چگونه انواع مختلف رویدادهای تعاملی را پردازش میکند یا به آنها پاسخ میدهد:
در زمان واقعی پاسخ دهید
رویدادهای تعاملی به برنامههای چت اجازه میدهند به صورت همزمان یا همزمان پاسخ دهند. پاسخ های همزمان نیازی به احراز هویت ندارند.
برای پاسخگویی در زمان واقعی، برنامه چت باید یک شیء Message
برگرداند. برای پاسخ دادن با یک پیام در فضای خالی، شی Message
میتواند شامل text
، cardsV2
و اشیاء accessoryWidgets
باشد. برای استفاده با انواع دیگر پاسخ ها، راهنماهای زیر را ببینید:
با پیام پاسخ دهید
در این مثال، برنامه چت شما هر زمان که به فضایی اضافه شود پیام متنی ایجاد کرده و ارسال می کند. برای آشنایی با بهترین روشها برای ورود کاربران به برنامه، به معرفی کاربران به برنامه چت خود مراجعه کنید.
برای ارسال پیام نوشتاری هنگامی که کاربر برنامه چت شما را به یک فضا اضافه میکند، برنامه چت شما به یک رویداد تعاملی 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 به طور همزمان پاسخ دهند.
برای ایجاد پیام با استفاده از API چت ، به ایجاد یک پیام مراجعه کنید. برای راهنماهای استفاده از روشهای اضافی API چت ، به نمای کلی API چت مراجعه کنید.
موضوعات مرتبط
- ارسال پیام
- گفتگوی های تعاملی را باز کنید
- پیش نمایش لینک ها
- ورودی داده های فرم را توسط کاربران روی کارت ها بخوانید
- به دستورات Slash پاسخ دهید
- برای یک برنامه گپ یک صفحه اصلی بسازید
- درخواست های گپ را تأیید کنید
- ویژگی های تعاملی را برای برنامه های گپ Google آزمایش کنید
این صفحه توضیح می دهد که چگونه برنامه Google Chat شما می تواند تعامل کاربر را دریافت و پاسخ دهد ، همچنین به عنوان رویدادهای تعامل برنامه Google CHAT شناخته می شود.
در این صفحه نحوه انجام موارد زیر توضیح داده شده است:
- برنامه گپ خود را برای دریافت رویدادهای تعامل پیکربندی کنید.
- رویداد تعامل را در زیرساخت های خود پردازش کنید.
- در صورت لزوم ، به وقایع تعامل پاسخ دهید.
یک برنامه چت تعاملی به عنوان یک افزودنی فضای کاری Google ایجاد کنید
برای ساختن یک برنامه چت که با کاربران چت در تعامل است ، می توانید یک افزودنی فضای کاری Google را ایجاد کنید که گپ را گسترش می دهد. به جای دریافت رویدادهای تعامل از API چت ، برنامه چت اشیاء رویداد افزودنی را دریافت و پاسخ می دهد. برای کسب اطلاعات بیشتر ، به Extend Google Chat در مستندات افزودنی فضای کاری Google مراجعه کنید.
پیش نیازها
یک برنامه گپ Google که برای ویژگی های تعاملی فعال شده است. برای ایجاد یک برنامه چت تعاملی ، یکی از queststarts های زیر را بر اساس معماری برنامه که می خواهید استفاده کنید ، تکمیل کنید:
- سرویس HTTP با توابع Google Cloud
- اسکریپت Google Apps
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
انواع وقایع تعامل
یک رویداد تعامل برنامه Google CHAT نشان دهنده هر عملی است که کاربر برای فراخوانی یا تعامل با یک برنامه چت ، مانند Mentioning یک برنامه چت یا اضافه کردن آن به یک فضا انجام می دهد.
هنگامی که کاربران با یک برنامه چت در تعامل هستند ، Google Chat برنامه چت را به یک رویداد تعامل ارسال می کند ، که به عنوان یک نوع Event
در API چت ارائه می شود. برنامه گپ می تواند از این رویداد برای پردازش تعامل استفاده کند و به صورت اختیاری با یک پیام پاسخ دهد.
برای هر نوع تعامل کاربر ، Google Chat نوع دیگری از رویداد تعامل را ارسال می کند که به برنامه چت شما کمک می کند تا هر نوع رویداد را بر این اساس کنترل کند. نوع رویداد تعامل با استفاده از شی eventType
نشان داده شده است.
به عنوان مثال ، Google Chat از نوع رویداد ADDED_TO_SPACE
برای هر تعامل استفاده می کند که کاربر برنامه گپ را به یک فضا اضافه می کند ، تا برنامه گپ بتواند بلافاصله با یک پیام خوش آمدید در فضا پاسخ دهد .
در جدول زیر ، تعامل مشترک کاربر ، نوع رویداد تعامل که برنامه های گپ دریافت می کنند ، و نحوه پاسخگویی برنامه های گپ به طور معمول نشان می دهد:
تعامل کاربر | eventType | پاسخ معمولی از یک برنامه چت |
---|---|---|
یک کاربر با استفاده از آن با استفاده از یک دستور slash ، یک برنامه گپ را فراخوانی می کند. | MESSAGE | برنامه گپ بر اساس محتوای پیام پاسخ می دهد. به عنوان مثال ، یک برنامه چت با پیامی که وظایفی را که برنامه گپ می تواند انجام دهد ، به دستور /about پاسخ می دهد. |
یک کاربر یک برنامه گپ را به یک فضا اضافه می کند. | ADDED_TO_SPACE | برنامه چت یک پیام پردازنده را ارسال می کند که توضیح می دهد چه کاری انجام می دهد و چگونه کاربران در فضا می توانند با آن ارتباط برقرار کنند. |
کاربر یک برنامه گپ را از یک فضا حذف می کند. | REMOVED_FROM_SPACE | برنامه چت هرگونه اعلان های ورودی را که برای فضا تنظیم شده است حذف می کند (مانند حذف یک وب وب ) و هرگونه ذخیره داخلی را پاک می کند. |
کاربر از طریق پیام برنامه چت ، گفتگو یا صفحه اصلی روی یک دکمه روی کارت کلیک می کند. | CARD_CLICKED | برنامه گپ یا داده هایی را که کاربر ارسال کرده است پردازش و ذخیره می کند ، یا کارت دیگری را برمی گرداند. |
کاربر با کلیک روی برگه خانه در یک پیام 1: 1 ، صفحه اصلی برنامه گپ را باز می کند. | APP_HOME | برنامه گپ یک کارت استاتیک یا تعاملی را از صفحه اصلی برمی گرداند. |
کاربر فرم را از صفحه اصلی برنامه چت ارسال می کند. | SUBMIT_FORM | برنامه گپ یا داده هایی را که کاربر ارسال کرده است پردازش و ذخیره می کند ، یا کارت دیگری را برمی گرداند. |
برای دیدن همه رویدادهای تعامل پشتیبانی شده ، به مستندات مرجع EventType
مراجعه کنید.
وقایع تعامل از دیالوگ ها
اگر برنامه چت شما دیالوگ ها را باز می کند ، رویداد تعامل حاوی اطلاعات اضافی زیر است که می توانید برای پردازش یک پاسخ استفاده کنید:
-
isDialogEvent
true
است. -
DialogEventType
توضیح می دهد که آیا تعامل باعث ایجاد گفتگو برای باز می شود ، اطلاعات را از یک گفتگو ارسال می کند یا یک گفتگو را بسته می کند.
جدول زیر تعامل مشترک با دیالوگ ها ، انواع رویداد گفتگو مربوطه و توضیحی در مورد چگونگی پاسخ برنامه های گپ به طور معمول نشان می دهد:
تعامل کاربر با یک گفتگو | نوع رویداد گفتگو | پاسخ معمولی |
---|---|---|
کاربر درخواست گفتگو را ایجاد می کند. به عنوان مثال ، آنها از یک دستور SLASH استفاده می کنند یا از یک دکمه کلیک می کنند. | REQUEST_DIALOG | برنامه گپ گفتگو را باز می کند. |
کاربر با کلیک روی یک دکمه ، اطلاعات را در گفتگو ارسال می کند. | SUBMIT_DIALOG | برنامه گپ یا به گفتگوی دیگری حرکت می کند یا گفتگو را برای تکمیل تعامل بسته می کند. |
کاربر قبل از ارسال اطلاعات ، گفتگو را خروجی یا بسته می کند. | CANCEL_DIALOG | به صورت اختیاری ، برنامه گپ می تواند با یک پیام جدید پاسخ دهد ، یا پیام یا کارت را که کاربر از آن گفتگو را باز کرده است به روز کنید. |
برای اطلاعات بیشتر ، به گفتگوی های تعاملی باز مراجعه کنید.
دریافت رویدادهای تعامل برنامه چت
در این بخش نحوه دریافت و پردازش رویدادهای تعامل برای برنامه گپ شما توضیح داده شده است.
برنامه گپ خود را برای دریافت رویدادهای تعامل پیکربندی کنید
همه برنامه های گپ تعاملی نیستند. به عنوان مثال ، وب های ورودی فقط می توانند پیام های خروجی را ارسال کنند و نمی توانند به کاربران پاسخ دهند. اگر در حال ایجاد یک برنامه چت تعاملی هستید ، باید یک نقطه پایانی را انتخاب کنید که به برنامه گپ شما اجازه می دهد تا به رویدادهای تعامل پاسخ ، پردازش و پاسخ دهد. برای کسب اطلاعات بیشتر در مورد طراحی برنامه چت خود ، به معماری های اجرای برنامه های چت مراجعه کنید.
برای هر یک از ویژگی های تعاملی که می خواهید بسازید ، باید پیکربندی خود را در API چت به روز کنید تا Google Chat بتواند رویدادهای تعامل مرتبط را به برنامه گپ شما ارسال کند:
در کنسول Google Cloud ، به صفحه API چت بروید و روی صفحه پیکربندی کلیک کنید:
در زیر ویژگی های تعاملی ، تنظیمات و به روزرسانی را بر اساس ویژگی هایی که می خواهید بسازید مرور کنید:
میدان توضیحات کارکرد مورد نیاز. مجموعه ای از زمینه ها که تعیین می کند چگونه برنامه چت می تواند با کاربران تعامل داشته باشد: - دریافت پیام 1: 1 : کاربران می توانند برنامه گپ را مستقیماً در Google Chat پیدا و پیام دهند.
- به فضاها و مکالمات گروهی بپیوندید : کاربران می توانند برنامه گپ را به فضاها و مکالمات گروهی اضافه کنند.
تنظیمات اتصال مورد نیاز. نقطه پایانی برنامه چت ، که یکی از موارد زیر است: - URL HTTP Endpoint URL : نقطه پایانی HTTPS که میزبان اجرای برنامه گپ است.
- اسکریپت برنامه ها : شناسه استقرار برای یک پروژه اسکریپت برنامه هایی که یک برنامه چت را پیاده سازی می کند.
- Cloud Pub/Sub Name : یک میخانه/زیر موضوع که برنامه گپ به عنوان یک نقطه پایانی مشترک است.
- DIALOGFLOW : برنامه گپ را با ادغام دیالوگ Flow ثبت می کند. برای اطلاعات بیشتر ، به ساخت برنامه Google Coalogflow Google که زبان طبیعی را درک می کند ، مراجعه کنید.
دستورات اسلش اختیاری. دستوراتی که می توانند در Google Chat برای کاربران ظاهر شوند. به کاربران امکان می دهد اقدامات اصلی برنامه گپ شما را در Google Chat مشاهده کنند و یک عمل خاص را که می خواهند با آن تعامل داشته باشند انتخاب کنند. برای اطلاعات بیشتر ، به دستورات Slash به عنوان یک برنامه چت پاسخ دهید . پیش نمایش پیوندها اختیاری. الگوهای URL که برنامه گپ در هنگام ارسال پیوندها ، محتوای اضافی را برای آن تشخیص داده و ارائه می دهد. برای اطلاعات بیشتر ، به پیوندهای پیش نمایش مراجعه کنید. دید اختیاری. حداکثر پنج فرد یا یک یا چند گروه Google که می توانند برنامه گپ شما را مشاهده و نصب کنند. از این قسمت برای آزمایش برنامه چت خود استفاده کنید یا برنامه چت را با تیم خود به اشتراک بگذارید. برای اطلاعات بیشتر ، به ویژگی های تعاملی آزمون مراجعه کنید. روی ذخیره کلیک کنید. هنگامی که پیکربندی برنامه چت را ذخیره می کنید ، برنامه گپ شما در سازمان فضای کاری Google شما در دسترس کاربران مشخص شده است.
اکنون برنامه چت شما برای دریافت رویدادهای تعامل از Google Chat تنظیم شده است.
مجدداً تماس با HTTP را به سرویس خود انجام دهید
اگر درخواست HTTPS به سرویس شما انجام نشود (مانند زمان وقوع ، خرابی موقت شبکه یا کد وضعیت HTTPS غیر 2xx) ، Google Gugh ممکن است طی چند دقیقه چند بار تحویل را دوباره امتحان کند (اما این تضمین نشده است). در نتیجه ، یک برنامه گپ ممکن است در شرایط خاص چند بار همان پیام را دریافت کند. اگر درخواست با موفقیت انجام شود اما بار پیام نامعتبر را بازگرداند ، Google Chat درخواست را دوباره امتحان نمی کند.
فرآیند یا پاسخ به وقایع تعامل
در این بخش توضیح می دهد که چگونه برنامه های گپ Google می توانند به وقایع تعامل پردازش و پاسخ دهند.
بعد از اینکه برنامه چت شما از Google Chat یک رویداد تعامل دریافت کرد ، آنها می توانند از بسیاری جهات پاسخ دهند. در بسیاری از موارد ، برنامه های چت تعاملی با پیام به کاربر پاسخ می دهند. برنامه Google CHAT همچنین می تواند برخی از اطلاعات را از یک منبع داده جستجو کند ، اطلاعات رویداد تعامل یا هر چیز دیگری را ضبط کند. این رفتار پردازش در واقع همان چیزی است که برنامه Google Chat را تعریف می کند.
برای پاسخ دادن همزمان ، یک برنامه گپ باید در مدت 30 ثانیه پاسخ دهد و پاسخ باید در فضایی که تعامل در آن رخ داده است ارسال شود. در غیر این صورت ، برنامه گپ می تواند به صورت غیر همزمان پاسخ دهد.
برای هر رویداد تعامل ، برنامه های گپ یک بدنه درخواست دریافت می کنند ، که بار JSON است که نمایانگر این رویداد است. می توانید از اطلاعات برای پردازش پاسخ استفاده کنید. برای نمونه هایی از بارهای رویداد ، به انواع رویدادهای تعامل برنامه چت مراجعه کنید.
نمودار زیر نشان می دهد که چگونه برنامه گپ Google به طور معمول به انواع مختلفی از وقایع تعامل پردازش یا پاسخ می دهد:
در زمان واقعی پاسخ دهید
رویدادهای تعامل اجازه می دهد برنامه های گپ در زمان واقعی یا همزمان پاسخ دهند. پاسخ های همزمان نیاز به احراز هویت ندارند.
برای پاسخ در زمان واقعی ، برنامه گپ باید یک شی Message
برگرداند. برای پاسخ به پیام در فضا ، شیء Message
می تواند شامل text
، cardsV2
و اشیاء accessoryWidgets
باشد. برای استفاده با انواع دیگر پاسخ ها ، به راهنماهای زیر مراجعه کنید:
با یک پیام پاسخ دهید
در این مثال ، برنامه گپ شما هر زمان که به یک فضا اضافه شود ، یک پیام متنی ایجاد و ارسال می کند. برای کسب اطلاعات در مورد بهترین شیوه های کاربران سوارکاری ، به کاربران معرفی شده به برنامه گپ خود مراجعه کنید.
برای ارسال پیام متنی هنگامی که کاربر برنامه چت شما را به یک فضا اضافه می کند ، برنامه گپ شما به یک رویداد تعامل 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 به طور همزمان پاسخ دهند.
برای ایجاد پیام با استفاده از API چت ، به ایجاد یک پیام مراجعه کنید. برای راهنماهای استفاده از روشهای اضافی API چت ، به نمای کلی API چت مراجعه کنید.
موضوعات مرتبط
- ارسال پیام
- گفتگوی های تعاملی را باز کنید
- پیش نمایش لینک ها
- ورودی داده های فرم را توسط کاربران روی کارت ها بخوانید
- به دستورات Slash پاسخ دهید
- برای یک برنامه گپ یک صفحه اصلی بسازید
- درخواست های گپ را تأیید کنید
- ویژگی های تعاملی را برای برنامه های گپ Google آزمایش کنید