이 페이지에서는 Google Chat 앱에서 사용자 상호작용에 응답(일명 Google Chat 앱) 상호작용 이벤트를 참조하세요.
이 페이지에서는 다음 작업을 수행하는 방법을 설명합니다.
- 상호작용을 수신하도록 채팅 앱 구성 이벤트를 수신합니다.
- 인프라에서 상호작용 이벤트를 처리합니다.
- 적절한 경우 상호작용 이벤트에 응답합니다.
기본 요건
양방향 기능이 사용 설정된 Google Chat 앱 대화식 채팅 앱에서 대화식 채팅 앱을 사용하려면 다음 빠른 시작 중 하나를 완료하세요. 앱 아키텍처에 따라 다음을 수행합니다.
- Google Cloud Functions를 사용하는 HTTP 서비스
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
상호작용 이벤트의 작동 방식
Google Chat 앱 상호작용 이벤트는 사용자가 채팅하는 사용자가 채팅 앱을 호출하거나 상호작용하는 방법(예: 채팅 앱을 @멘션하거나 있습니다. 사용자가 채팅 앱과 상호작용할 때 Google Chat은 채팅 앱에 상호작용 이벤트를 전송합니다. 채팅 앱은 이벤트를 사용하여 응답을 작성합니다
예를 들어 채팅 앱은 상호작용 이벤트를 사용하여 있습니다.
상호작용 이벤트의 예 | 채팅 앱의 일반적인 응답 |
---|---|
사용자가 다음과 같은 방법으로 채팅 앱을 호출합니다. @멘션하거나 슬래시 명령어를 사용합니다. | 이
채팅 앱이 말하는 내용을 처리
만들 수 있습니다. 예를 들어 채팅 앱이
/about 명령어를
채팅 앱에서 할 수 있습니다. |
사용자가 채팅 앱을 추가할 때 지정합니다. | 채팅 앱에서 온보딩 메시지를 작성해 주세요. 있습니다. |
사용자가 스페이스의 채팅 앱 | 이 채팅 앱에서 수신 알림을 모두 삭제함 스페이스에 대해 설정된 모든 작업을 변경할 수 있습니다 (예: webhook의 근간을 설정하고 모든 클러스터에 내부 저장소에 저장합니다 |
사용자가 광고 서버에서 보낸 카드 또는 대화상자의 버튼을 클릭하면 채팅 앱 | 채팅 앱은 인코더-디코더 아키텍처를 반환하거나 다른 카드 또는 대화상자를 반환할 수 있습니다. |
Google Chat에서는 사용자 상호작용 유형별로
상호작용 이벤트를 추가하여
이벤트 유형을 조정할 수 있습니다. 예를 들어 Google Chat은
ADDED_TO_SPACE
: 사용자가
채팅 앱을 스페이스에 추가하여
채팅 앱은
메시지를 보낼 수 있습니다 지원되는 상호작용 이벤트를 모두 보려면 다음을 참고하세요.
EventType
참조
문서를 참조하세요.
채팅 앱 상호작용 이벤트 수신
이 섹션에서는 채팅 앱
상호작용 이벤트를 수신하도록 채팅 앱 구성
모든 채팅 앱이 대화형은 아닙니다. 예를 들어 수신 웹훅은 발신 메시지와 사용자에게 응답할 수 없습니다. 대화형 환경을 구축하는 경우 채팅 앱을 사용하는 경우, 채팅 앱 상호작용 수신, 처리, 응답 이벤트를 수신합니다. 채팅 앱 설계에 관한 자세한 내용은 다음을 참고하세요. 채팅 앱 구현 아키텍처
빌드하려는 각 대화형 기능에 대해 채팅 API의 구성을 추가하여 Google Chat에서 채팅 앱과 관련된 상호작용 이벤트:
Google Cloud 콘솔에서 Chat API 페이지로 이동하여 구성 페이지:
양방향 기능에서 설정을 검토하고 빌드하려는 기능:
필드 설명 기능 필수 항목입니다. 채팅 앱이 사용자와 상호작용할 수 있는 방법을 결정하는 필드 집합입니다. - 1:1 메시지 수신: 사용자가 Google Chat에서 직접 채팅 앱을 찾아 메시지를 보낼 수 있습니다.
- 스페이스 및 그룹 대화 참여: 사용자가 스페이스 및 그룹 대화에 Chat 앱을 추가할 수 있습니다.
연결 설정 필수 항목입니다. 채팅 앱의 엔드포인트로 다음 중 하나입니다. - 앱 URL: 채팅 앱 구현을 호스팅하는 HTTPS 엔드포인트입니다.
- Apps Script 프로젝트: 채팅 앱을 구현하는 Apps Script 프로젝트의 배포 ID입니다.
- Cloud Pub/Sub 주제 이름: 채팅 앱이 엔드포인트로 구독하는 Pub/Sub 주제입니다.
- Dialogflow: Dialogflow 통합으로 채팅 앱을 등록합니다. 자세한 내용은 자연어를 이해하는 Dialogflow Google Chat 앱 빌드를 참조하세요.
슬래시 명령어 선택사항입니다. Google Chat 내에서 사용자에게 표시할 수 있는 명령어입니다. 사용자가 Google Chat 내에서 채팅 앱의 핵심 작업을 확인하고 상호작용할 특정 작업을 선택할 수 있도록 허용합니다. 자세한 내용은 채팅 앱으로 슬래시 명령어에 응답하기를 참고하세요. 링크 미리보기 선택사항입니다. 사용자가 링크를 보낼 때 채팅 앱에서 인식하고 추가 콘텐츠를 제공하는 URL 패턴입니다. 자세한 내용은 미리보기 링크를 참고하세요. 공개 상태 선택사항입니다. Chat 앱을 보고 설치할 수 있는 개인 최대 5명 또는 하나 이상의 Google 그룹스 이 필드를 사용하여 채팅 앱을 테스트하거나 팀과 채팅 앱을 공유할 수 있습니다. 자세한 내용은 양방향 기능 테스트를 참고하세요. 저장을 클릭합니다. 채팅 앱을 저장하는 경우 구성되면 채팅 앱을 Google Workspace 조직의 특정 사용자에게 적용됩니다.
이제 채팅 앱이 상호작용을 수신하도록 구성되었습니다. Google Chat의 일정입니다.
서비스에 대한 HTTP 호출 재시도 처리
서비스에 대한 HTTPS 요청이 실패하는 경우 (예: 시간 초과, 임시 네트워크 2xx가 아닌 HTTPS 상태 코드인 경우) Google Chat에서 전송을 다시 시도할 수 있습니다. 몇 분 이내에 몇 회 재생될 수 있습니다 (확실히 보장되지는 않음). 그 결과 채팅 앱이 다음 시간 이후에 동일한 메시지를 특정 상황에서 발생합니다 요청이 성공적으로 완료되었지만 잘못된 Google Chat은 요청을 다시 시도하지 않습니다.
상호작용 이벤트 처리 또는 응답
이 섹션에서는 Google Chat 앱이 어떻게 처리하고 응답할 수 있는지 설명합니다. 상호작용 이벤트입니다.
채팅 앱이 상호작용 이벤트를 수신한 후 Google Chat을 사용하면 다양한 방식으로 응답할 수 있습니다. 대부분의 경우 양방향 채팅 앱이 사용자에게 메시지로 응답합니다. Google Chat 앱이 데이터에서 일부 정보를 조회할 수도 있습니다. 상호작용 이벤트 정보를 기록하거나 다른 모든 것을 기록해야 합니다. 기본적으로 이 처리 동작은 Google Chat 앱
동기식으로 응답하려면 채팅 앱이 응답해야 합니다. 30초 이내에 게시되어야 하며, 응답은 확인할 수 있습니다. 그러지 않으면 채팅 앱에서 비동기식으로 응답합니다.
채팅 앱은 각 상호작용 이벤트에 대해 요청 본문을 수신합니다. 이벤트를 나타내는 JSON 페이로드입니다. 이 응답을 처리하는 데 사용됩니다 이벤트 페이로드의 예시는 다음을 참조하세요. 채팅 앱 상호작용 이벤트 유형.
다음 다이어그램은 Google Chat 앱은 일반적으로 다양한 유형의 상호작용 이벤트:
실시간 대답
상호작용 이벤트를 통해 채팅 앱이 실시간으로 응답할 수 있습니다. 동기식으로. 동기 응답에서는 인증을 포함합니다.
스페이스 참여에 응답하기
이 예시에서는 채팅 앱이 메시지가 표시됩니다. 온라인 여행 포털에 대한 자세한 내용은 사용자에게 채팅 앱 소개
사용자가 채팅 앱을 추가할 때 문자 메시지를 보내기 위해
채팅 앱 스페이스에
ADDED_TO_SPACE
에 대한 응답
상호작용 이벤트입니다. 응답 대상
ADDED_TO_SPACE
상호작용 이벤트를 SMS와 연결하려면 다음 코드를 사용합니다.
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`.'
});
}
};
Apps Script
/**
* 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 개요
관련 주제
- 메시지 보내기
- 대화형 대화상자 열기
- 미리보기 링크
- 사용자가 카드에서 입력한 양식 데이터 읽기
- 슬래시 명령어에 응답
- 채팅 앱의 홈페이지 구축하기
- Chat에서 요청 확인하기
- Google Chat 앱의 양방향 기능 테스트하기