معماری برنامه Google Chat را انتخاب کنید

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

نمای کلی بر اساس ویژگی‌ها و قابلیت‌ها

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

ویژگی‌ها و قابلیت‌ها

سرویس وب یا HTTP

میخانه/ساب

وب هوک ها

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

برگه برنامه

دیالوگ‌فلو

اسکریپت

مخاطب مورد نظر

تیم شما

سازمان شما

عموم مردم

تعامل کاربر

استفاده از پردازش زبان طبیعی

الگوهای پیام‌رسانی

ارسال و دریافت پیام‌های همزمان

ارسال و دریافت پیام‌های همزمان و ارسال پیام‌های غیرهمزمان

فقط پیام‌های غیرهمزمان ارسال کنید

ارسال پیام از یک سیستم خارجی به یک فضای چت واحد

دسترسی به سایر سرویس‌ها و سیستم‌ها

ادغام با سایر سرویس‌های گوگل

ارتباط از پشت فایروال

درخواست یا اشتراک در رویدادهای چت

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

توسعه بدون کد

توسعه با کد کم

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

DevOps ساده شده

مدیریت کامل DevOps و CI/CD

سبک‌های معماری سرویس

این بخش برخی از رایج‌ترین رویکردهای معماری مورد استفاده برای ایجاد برنامه‌های چت را شرح می‌دهد.

سرویس وب یا HTTP

یک سرویس وب یا HTTP رایج‌ترین معماری مورد استفاده است زیرا بیشترین انعطاف‌پذیری را برای توسعه‌دهندگان جهت ساخت برنامه‌های چت عمومی فراهم می‌کند. این معماری برای موارد استفاده زیر توصیه می‌شود:

  • برنامه چت در Google Workspace Marketplace برای عموم منتشر شده است.
  • برنامه چت می‌تواند تمام الگوهای پیام‌رسانی را ارسال و دریافت کند: ارسال و دریافت پیام‌های همزمان، ارسال پیام‌های ناهمزمان و ارسال پیام از یک سیستم خارجی.
  • برنامه چت با هر زبان برنامه نویسی توسعه داده شده است.
  • برنامه چت به مدیریت کامل DevOps و CI/CD نیاز دارد.
  • سرویس برنامه چت در سرورهای ابری یا داخلی پیاده‌سازی می‌شود.

در این طرح، شما Chat را طوری پیکربندی می‌کنید که با استفاده از HTTP با یک سرویس از راه دور ادغام شود، همانطور که در نمودار زیر نشان داده شده است:

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

در نمودار قبلی، کاربری که با یک برنامه چت HTTP تعامل دارد، جریان اطلاعات زیر را دارد:

  1. یک کاربر پیامی را در فضای چت به یک برنامه چت ارسال می‌کند.
  2. یک درخواست HTTP به یک وب سرور ارسال می‌شود که می‌تواند یک سیستم ابری یا داخلی باشد و شامل منطق برنامه چت است.
  3. به صورت اختیاری، منطق برنامه چت می‌تواند با سرویس‌های شخص ثالث خارجی، مانند سیستم مدیریت پروژه یا ابزار تیکتینگ، تعامل داشته باشد.
  4. وب سرور یک پاسخ HTTP را به سرویس برنامه چت در Chat ارسال می‌کند.
  5. پاسخ به کاربر تحویل داده می‌شود.
  6. به صورت اختیاری، برنامه چت می‌تواند API چت را برای ارسال پیام‌ها یا انجام سایر عملیات به صورت غیرهمزمان فراخوانی کند.

این معماری به شما انعطاف‌پذیری لازم برای استفاده از کتابخانه‌ها و کامپوننت‌های موجود در سیستمتان را می‌دهد، زیرا این برنامه‌های چت را می‌توان با استفاده از زبان‌های برنامه‌نویسی مختلف طراحی کرد. روش‌های مختلفی برای پیاده‌سازی این معماری وجود دارد. در Google Cloud، می‌توانید از Cloud Run و App Engine استفاده کنید. برای شروع، به ساخت یک برنامه Google Chat مراجعه کنید.

میخانه/ساب

اگر برنامه چت پشت یک فایروال پیاده‌سازی شده باشد، چت قادر به برقراری تماس‌های HTTP با آن نیست. یک رویکرد، استفاده از Pub/Sub است تا پیاده‌سازی برنامه چت را قادر سازد تا در موضوعی که پیام‌هایی از چت را حمل می‌کند، مشترک شود. Pub/Sub یک سرویس پیام‌رسانی ناهمزمان است که سرویس‌های تولیدکننده پیام را از سرویس‌هایی که آن پیام‌ها را پردازش می‌کنند، جدا می‌کند. این معماری برای موارد استفاده زیر توصیه می‌شود:

  • برنامه چت پشت یک فایروال ساخته شده است.
  • برنامه چت رویدادهای مربوط به یک فضای چت را دریافت می‌کند .
  • برنامه چت در سازمان شما مستقر شده است.
  • برنامه چت می‌تواند پیام‌های همزمان ارسال و دریافت کند، و می‌تواند پیام‌های غیرهمزمان ارسال کند.
  • برنامه چت با هر زبان برنامه نویسی توسعه داده شده است.
  • برنامه چت به مدیریت کامل DevOps و CI/CD نیاز دارد.

نمودار زیر معماری یک برنامه چت ساخته شده با Pub/Sub را نشان می‌دهد:

معماری یک برنامه چت که با Pub/Sub پیاده‌سازی شده است.

در نمودار قبلی، کاربری که با یک برنامه Pub/Sub Chat در تعامل است، جریان اطلاعات زیر را دارد:

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

  2. چت، پیام را به یک موضوع Pub/Sub ارسال می‌کند.

  3. یک سرور برنامه، که می‌تواند یک سیستم ابری یا داخلی باشد و شامل منطق برنامه چت باشد، برای دریافت پیام از طریق فایروال، در موضوع Pub/Sub مشترک می‌شود.

  4. به صورت اختیاری، برنامه چت می‌تواند API چت را برای ارسال پیام‌ها یا انجام سایر عملیات به صورت غیرهمزمان فراخوانی کند.

برای شروع، به بخش «استفاده از Pub/Sub به عنوان نقطه پایانی برای برنامه چت» مراجعه کنید.

وب هوک ها

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

  • برنامه چت برای تیم شما مستقر شده است.
  • برنامه چت پیام‌ها را از یک سیستم خارجی به یک فضای چت واحد ارسال می‌کند.

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

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

در نمودار قبلی، یک برنامه چت جریان اطلاعات زیر را دارد:

  1. منطق برنامه چت، اطلاعات را از سرویس‌های شخص ثالث خارجی، مانند یک سیستم مدیریت پروژه یا یک ابزار تیکتینگ، دریافت می‌کند.
  2. منطق برنامه چت در یک سیستم ابری یا داخلی میزبانی می‌شود که می‌تواند با استفاده از یک URL وب‌هوک به یک فضای چت خاص پیام ارسال کند.
  3. کاربران می‌توانند در آن فضای چت خاص، پیام‌هایی از برنامه چت دریافت کنند، اما قادر به تعامل با برنامه چت نیستند.

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

برای شروع، به ارسال پیام به چت با وب‌هوک‌ها مراجعه کنید.

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

شما می‌توانید منطق برنامه چت خود را کاملاً با جاوا اسکریپت ایجاد کنید. Google Apps Script یک پلتفرم توسعه کم کد برای برنامه‌های چت است. Apps Script جریان مجوز و توکن‌های OAuth 2.0 را برای احراز هویت کاربر مدیریت می‌کند. می‌توانید از Apps Script برای ساخت برنامه‌های چت عمومی استفاده کنید، اما به دلیل سهمیه‌ها و محدودیت‌های روزانه توصیه نمی‌شود.

این معماری برای موارد استفاده زیر توصیه می‌شود:

  • برنامه چت در تیم یا سازمان شما مستقر شده است.
  • برنامه چت می‌تواند تمام الگوهای پیام‌رسانی را ارسال و دریافت کند: ارسال و دریافت پیام‌های همزمان، ارسال پیام‌های ناهمزمان و ارسال پیام از یک سیستم خارجی.
  • برنامه چت به مدیریت ساده DevOps نیاز دارد.

این معماری برای برنامه‌های چت که با سایر سرویس‌های گوگل مانند Google Sheets، Google Slides، Google Calendar، Google Drive، Google Maps و YouTube نیز ادغام می‌شوند، مفید است، همانطور که در نمودار زیر نشان داده شده است:

معماری یک برنامه چت که با Apps Script پیاده‌سازی شده است.

در نمودار قبلی، کاربری که با یک برنامه چت Apps Script تعامل دارد، جریان اطلاعات زیر را دارد:

  1. کاربر پیامی را به یک برنامه چت، چه در پیام مستقیم و چه در فضای چت، ارسال می‌کند.
  2. منطق برنامه چت که در Apps Script پیاده‌سازی شده و در Google Cloud قرار دارد، پیام را دریافت می‌کند.
  3. به صورت اختیاری، منطق برنامه چت می‌تواند با سرویس‌های Google Workspace مانند تقویم یا Sheets یا سایر سرویس‌های Google مانند Google Maps یا YouTube ادغام شود.
  4. منطق برنامه چت، پاسخی را به سرویس برنامه چت در Chat ارسال می‌کند.
  5. پاسخ به کاربر تحویل داده می‌شود.

برای شروع، به بخش «ساخت برنامه چت با Apps Script» مراجعه کنید.

برگه برنامه

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

این معماری برای موارد استفاده زیر توصیه می‌شود:

  • برنامه چت برای شما و تیمتان مستقر شده است.
  • برنامه چت می‌تواند پیام‌های همزمان ارسال و دریافت کند، و می‌تواند پیام‌های غیرهمزمان ارسال کند.
  • برنامه چت به مدیریت ساده DevOps نیاز دارد.

نمودار زیر معماری یک برنامه چت ساخته شده با AppSheet را نشان می‌دهد:

معماری یک برنامه چت که با AppSheet پیاده‌سازی شده است.

در نمودار قبلی، کاربری که با یک برنامه چت AppSheet تعامل دارد، جریان اطلاعات زیر را دارد:

  1. کاربر پیامی را در چت به یک برنامه چت، چه در پیام مستقیم و چه در فضای چت، ارسال می‌کند.
  2. منطق برنامه چت که در AppSheet پیاده‌سازی شده و در Google Cloud قرار دارد، پیام را دریافت می‌کند.
  3. به صورت اختیاری، منطق برنامه چت می‌تواند با سرویس‌های Google Workspace مانند Apps Script یا Google Sheets ادغام شود.
  4. منطق برنامه چت، پاسخی را به سرویس برنامه چت در Chat ارسال می‌کند.
  5. پاسخ به کاربر تحویل داده می‌شود.

برای شروع، به ساخت یک برنامه چت با AppSheet مراجعه کنید.

دیالوگ‌فلو

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

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

نمودار زیر معماری یک برنامه چت ساخته شده با Dialogflow را نشان می‌دهد:

معماری یک برنامه چت که با Dialogflow پیاده‌سازی شده است.

در نمودار قبلی، کاربری که با یک برنامه چت Dialogflow تعامل دارد، جریان اطلاعات زیر را دارد:

  1. کاربر پیامی را در چت به یک برنامه چت، چه در پیام مستقیم و چه در فضای چت، ارسال می‌کند.
  2. یک عامل مجازی Dialogflow که در Google Cloud قرار دارد، پیام را دریافت و پردازش می‌کند تا پاسخی تولید کند.
  3. در صورت تمایل، با استفاده از یک وب‌هوک Dialogflow ، عامل Dialogflow می‌تواند با سرویس‌های شخص ثالث خارجی، مانند یک سیستم مدیریت پروژه یا یک ابزار تیکتینگ، تعامل داشته باشد.
  4. عامل Dialogflow پاسخی را به سرویس برنامه Chat در Chat ارسال می‌کند.
  5. پاسخ به فضای چت ارسال می‌شود.

برای شروع، به ساخت یک برنامه چت گوگل Dialogflow مراجعه کنید.

برنامه یا اسکریپت خط فرمان

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

  • برنامه چت با هر زبان برنامه نویسی توسعه داده شده است.
  • برنامه چت فقط می‌تواند پیام‌های غیرهمزمان ارسال کند.

نمودار زیر معماری را نشان می‌دهد:

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

در نمودار قبلی، برنامه چت جریان اطلاعات زیر را دارد:

  1. برنامه چت، API چت را برای ارسال پیام یا انجام عملیات دیگر فراخوانی می‌کند.
  2. چت عملیات درخواستی را اجرا می‌کند.
  3. در صورت تمایل، برنامه چت یک تأییدیه در رابط خط فرمان (CLI) چاپ می‌کند.

پیاده‌سازی منطق برنامه چت

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

مدیریت تعاملات کاربران

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

تجزیه‌کننده فرمان

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

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

رابط کاربری مبتنی بر دیالوگ

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

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

پردازش زبان طبیعی

بسیاری از پیاده‌سازی‌های برنامه‌های چت از پردازش زبان طبیعی (NLP) برای تعیین درخواست کاربر استفاده می‌کنند. روش‌های زیادی برای پیاده‌سازی NLP وجود دارد و شما می‌توانید NLP را به هر روشی که ترجیح می‌دهید، پیاده‌سازی کنید.

شما می‌توانید از NLP در پیاده‌سازی برنامه چت خود با ادغام Dialogflow ES یا Dialogflow CX Chat استفاده کنید، که به شما امکان می‌دهد عوامل مجازی برای مکالمات خودکار و پاسخ‌های پویا ایجاد کنید.

درخواست‌های پیشگیرانه را به چت ارسال کنید

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

برنامه‌های چت غیر تعاملی از API چت برای ارسال پیام یا انواع دیگر درخواست‌ها به چت استفاده می‌کنند.

الگوهای مکالمه

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

تماس و پاسخ (همزمان)

در الگوی تماس و پاسخ همزمان، برنامه چت به پیام‌های کاربران به صورت یک به یک پاسخ می‌دهد. یک پیام به برنامه چت توسط یک کاربر منجر به یک پاسخ از برنامه چت می‌شود، همانطور که در نمودار زیر نشان داده شده است:

معماری یک پیام همزمان

در نمودار قبلی، کاربری که با یک برنامه چت در تعامل است، جریان اطلاعات زیر را دارد:

  1. یک کاربر یک پیام همزمان به یک برنامه چت ارسال می‌کند - برای مثال، "جلسه بعدی من چیست؟".
  2. برنامه چت یک پیام همزمان برای کاربر ارسال می‌کند—برای مثال، «دکتر سیلوا ساعت ۲:۳۰».

برای این نوع الگوی مکالمه، می‌توانید معماری برنامه چت را با استفاده از یک سرویس وب، Pub/Sub، Apps Script، AppSheet یا Dialogflow پیاده‌سازی کنید.

پاسخ‌های چندگانه (ناهمزمان)

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

معماری یک پیام ناهمزمان.

در نمودار قبلی، کاربری که با یک برنامه چت در تعامل است، جریان اطلاعات زیر را دارد:

  1. یک کاربر یک پیام همزمان به یک برنامه چت ارسال می‌کند - برای مثال، "نظارت بر ترافیک".
  2. برنامه چت یک پیام همزمان برای تأیید درخواست به کاربر ارسال می‌کند - برای مثال، «نظارت بر».
  3. بعداً، برنامه چت با فراخوانی REST API یک یا چند پیام غیرهمزمان را برای کاربر ارسال می‌کند - برای مثال، "ترافیک جدید".
  4. کاربر یک پیام همگام اضافی به برنامه چت ارسال می‌کند - برای مثال، "ترافیک را نادیده بگیرید".
  5. برنامه چت یک پیام همزمان برای تأیید درخواست به کاربر ارسال می‌کند - برای مثال، «نظارت خاموش است».

برای این نوع الگوی مکالمه، می‌توانید معماری برنامه چت را با استفاده از یک سرویس وب، Pub/Sub، Apps Script یا AppSheet پیاده‌سازی کنید.

پرس‌وجو یا اشتراک در رویدادها (غیرهمزمان)

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

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

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

نمودار زیر نمونه‌ای از الگوی مکالمه‌ای رویدادمحور را نشان می‌دهد:

معماری اشتراک در رویدادهای چت

در نمودار قبلی، تعامل بین چت و برنامه چت دارای جریان اطلاعات زیر است:

  1. برنامه چت در یک فضای چت گوگل مشترک است.
  2. فضایی که برنامه چت در آن مشترک است تغییر می‌کند.
  3. برنامه چت، رویدادی را به موضوعی در Pub/Sub ارسال می‌کند که به عنوان نقطه پایانی اعلان برای اشتراک عمل می‌کند. این رویداد حاوی داده‌هایی در مورد تغییرات در منبع است.
  4. برنامه چت، پیام Pub/Sub که حاوی رویداد است را پردازش می‌کند و در صورت لزوم، اقدامی انجام می‌دهد.

برای این نوع الگوی مکالمه، می‌توانید معماری یک برنامه چت را با استفاده از Pub/Sub، یک سرویس وب یا Apps Script پیاده‌سازی کنید.

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

پیام یک طرفه از یک برنامه چت

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

معماری پیام یک طرفه

در نمودار قبلی، کاربری که در همان فضای برنامه چت قرار دارد، جریان اطلاعات زیر را دارد:

  • برنامه چت با فراخوانی API چت یا ارسال به یک URL وب هوک، یک پیام غیرهمزمان به کاربر ارسال می‌کند - برای مثال، "هشدار سرریز صف".
  • به صورت اختیاری، برنامه چت پیام‌های غیرهمزمان اضافی ارسال می‌کند.

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

پیام یک طرفه به یک برنامه چت

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