이 페이지에서는 Google Chat 앱이 Google Chat의 이벤트를 수신하고 이에 응답하는 방법을 설명합니다.
Google Chat 이벤트는 스페이스의 새 메시지와 같은 Chat의 활동이나 변경사항을 나타냅니다. 채팅 앱은 이벤트를 사용하여 발생한 상황을 파악하고 사용자에게 의미 있는 방식으로 조치를 취하거나 응답할 수 있습니다.
다음은 이벤트를 사용하는 방법의 몇 가지 예시입니다.
- 스페이스에서 새로운 메시지를 모니터링하고 이에 응답합니다(예: 키워드 또는 구문 확인).
- 사용자가 스페이스에 참여할 때 환영 메시지를 보내 스페이스 가이드라인을 설명하거나 Chat 앱을 효과적으로 사용하는 방법에 관한 도움말을 공유합니다.
- Chat 활동을 추적하고 분석합니다. 예를 들어 신규 회원 또는 반응이나 답글이 가장 많은 메시지에 관한 월간 보고서를 전송할 수 있습니다.
- 메시지 플랫폼 간에 커뮤니케이션 예를 들어 사용자는 Chat을 나가지 않고도 다른 메시지 플랫폼의 사용자에게 메시지를 보내고 받을 수 있습니다.
이벤트의 작동 방식
Google Chat에서 어떤 일이 발생할 때마다 Google Chat API 리소스가 생성, 업데이트 또는 삭제됩니다. Chat에서는 이벤트를 사용하여 발생한 활동의 유형과 영향을 받은 Chat API 리소스에 관한 정보를 Chat 앱에 제공합니다.
Message
리소스를 만듭니다.
그러면 Chat에서 새 메시지에 관한 데이터가 포함된 이벤트를 생성합니다.Chat에서는 유형별로 이벤트를 분류합니다. 이벤트 유형을 사용하면 필요한 정보 유형만 필터링하고 수신할 수 있으며 유사한 활동을 동일한 방식으로 처리할 수 있습니다.
다음 표는 Chat의 활동이 관련 Chat API 리소스에 미치는 영향과 Chat 앱이 수신하는 이벤트 유형을 보여줍니다.
활동 | Chat API 리소스 | 이벤트 유형 |
---|---|---|
사용자가 Chat 스페이스에 메시지를 게시합니다. | Message 리소스가 생성됩니다. |
새 메시지 |
사용자가 스페이스 관리자가 됩니다. | Membership 리소스가 업데이트됩니다. |
멤버십 업데이트됨 |
사용자가 메시지에 반응합니다. | Reaction 리소스가 생성됩니다. |
새 반응 |
사용자가 스페이스를 나갑니다. | Membership 리소스가 삭제됩니다. |
멤버십 삭제됨 |
Google Chat에서 이벤트 수신
이벤트를 수신하려면 Chat 앱이 다음 중 하나를 수행하면 됩니다.
- Google Workspace Events API를 사용하여 이벤트를 구독하면 이벤트가 발생할 때 이벤트를 수신할 수 있습니다.
- Chat API를 호출하여 최근 이벤트를 쿼리합니다.
다음 표에서는 이벤트를 쿼리하거나 구독하는 이유와 차이점을 설명합니다.
이벤트 구독 | 이벤트 쿼리 | |
---|---|---|
사용 사례 |
|
|
API | Google Workspace Events API | Chat API |
이벤트 소스 | 스페이스 및 사용자 | 스페이스만 |
지원되는 이벤트 |
지원되는 이벤트 유형 목록은 Google Workspace Events API 문서의 구독 생성용 이벤트 유형을 참고하세요. |
지원되는 이벤트 유형 목록은 Chat API 참조 문서의 spaceEvents 리소스를 참고하세요.
|
이벤트 형식 | CloudEvent 사양에 따라 형식이 지정된 Google Cloud Pub/Sub 메시지입니다. 자세한 내용은 Google Workspace 이벤트 구조를 참고하세요. |
Chat API 리소스(
spaces.spaceEvent )
|
이벤트 데이터 | 리소스 데이터가 있거나 없는 Base64로 인코딩된 문자열입니다. 페이로드 예시는 이벤트 데이터를 참고하세요. | 리소스 데이터가 포함된 JSON 페이로드입니다. 일부 이벤트 유형에는 특정 리소스 필드만 포함됩니다. 페이로드 예시는 참조 문서를 참고하세요. |
예: 스페이스의 멤버십에 관한 이벤트 쿼리 또는 구독
이 예에서 Chat 앱은 Chat 스페이스의 구성원 변경에 관한 정보를 수신하려고 합니다. 스페이스에서 다음과 같은 멤버십 활동이 발생합니다.
- 사용자가 스페이스에 참여하면
Membership
리소스가 생성되고 새 회원 이벤트가 트리거됩니다. - 사용자가 스페이스 관리자가 되어 사용자의
Membership
리소스가 업데이트되고 업데이트된 멤버 이벤트가 트리거됩니다. - 사용자가 스페이스를 나가면 사용자의
Membership
리소스가 삭제되고 구성원 삭제 이벤트가 트리거됩니다.
멤버십 이벤트 구독
실시간으로 이벤트를 수신하기 위해 Chat 앱은 Google Workspace Events API subscriptions.create()
메서드를 호출하여 모든 유형의 멤버십 이벤트를 스페이스에 구독합니다. 구독을 만든 후 Chat 앱이 멤버십 이벤트를 수신하기 시작할 수 있습니다.
그림 2에서 채팅 앱은 스페이스를 활성 구독하고 있으므로 스페이스의 멤버십이 변경될 때마다 앱이 이벤트를 수신합니다. 그러면 Chat 앱이 스페이스에 참여한 회원에게 비공개 환영 메시지를 게시하는 등 모든 활동을 실시간으로 처리하거나 응답할 수 있습니다.
Google Workspace Events API를 사용하여 구독을 만드는 방법을 알아보려면 Google Workspace Events API 문서를 참고하세요.
최근 멤버십 활동 쿼리
멤버십 이벤트가 발생할 때 수신하는 대신 Chat 앱은 Chat API를 호출하여 멤버십 활동과 관련된 최근 스페이스 이벤트를 나열할 수 있습니다.
그림 3에서 Chat 앱은 모든 멤버십 활동이 발생한 후 Chat API spaces.spaceEvents.list()
메서드를 호출하고 새 멤버십 이벤트, 업데이트된 멤버십 이벤트, 삭제된 멤버십 이벤트에 대한 쿼리를 필터링합니다. Chat API는 각 멤버십 변경사항을 나타내는 spaceEvent
리소스 목록을 반환합니다.
그러면 Chat 앱은 지난 7일간의 스페이스 회원 활동 요약이 포함된 주간 메시지를 게시하는 등 최근 활동을 기반으로 처리하거나 응답할 수 있습니다.
Chat API를 사용하여 이벤트를 쿼리하려면 Google Chat 스페이스의 이벤트 나열하기를 참고하세요.
제한사항
-
사용자 구독의 경우, 다이렉트 메시지 또는 이름이 지정되지 않은 그룹 채팅 (
google.workspace.chat.membership.v1.created
)의 새 회원에 관한 이벤트는 첫 번째 메시지가 게시된 후에만 트리거됩니다. - 멤버십 이벤트를 수신하려면 사용자가 스페이스의 직접 구성원이어야 합니다. Google 그룹을 통해 간접적으로 스페이스에 사용자가 추가, 업데이트 또는 삭제된 경우 구독은 이러한 멤버십 이벤트를 수신하지 않습니다. Google 그룹 멤버십의 작동 방식을 알아보려면 스페이스에 Google 그룹 추가하기를 참고하세요.
관련 주제
- Google Workspace Events API 개요
- 정기 결제 만들기
- Google Chat 스페이스 이벤트에 관한 세부정보 가져오기
- Google Chat 스페이스의 이벤트 나열하기
- 이벤트를 사용하는 방법의 예는 튜토리얼 Gemini AI Chat 앱과의 채팅 대화를 바탕으로 질의 응답 또는 코드랩 Gemini로 Google Chat용 앱 빌드의 문제 관리 Chat 앱의 포용성 도움말 기능을 참고하세요.