개요
OneSignal + Google Pub/Sub 통합은 Pub/Sub 토픽에서 OneSignal로 사용자 지정 이벤트를 실시간으로 동기화하여 사용자 행동을 기반으로 자동화된 메시징 캠페인과 저니를 트리거할 수 있게 합니다. Pub/Sub은 애플리케이션이 독립적인 구성 요소 간에 메시지를 보내고 받을 수 있도록 하는 Google의 확장 가능한 메시징 서비스입니다. OneSignal은 Pub/Sub 토픽의 구독자로 작동하여 Pub/Sub의 이벤트 메시지를 동기화하여 개인화된 사용자 경험을 트리거할 수 있습니다.요구 사항
- Access to Event Streams for outbound message events (Plan limitations and overages apply)
- Access to Custom Events for inbound event syncing (Plan limitations and overages apply)
- Updated Account Plan (not available on free apps)
Google Pub/Sub
- Pub/Sub이 활성화된 Google Cloud Project
- 이벤트 메시지가 포함된 Pub/Sub 토픽
- 서비스 계정 액세스를 부여하기 위한 IAM 권한
- 토픽의 JSON 형식 메시지
설정
1
Pub/Sub 연결 생성
OneSignal에서 Data > Integrations으로 이동하여 Add Integration을 클릭합니다.
- 목록에서 Google Pub/Sub을 선택합니다
- Pub/Sub 토픽이 있는 위치의 GCP Project ID를 입력합니다
- 인증 방법을 선택합니다:
- 자동 생성된 서비스 계정 (권장): OneSignal이 서비스 계정을 생성하고 관리합니다
- 기존 서비스 계정: 자체 서비스 계정 키 JSON 파일을 제공합니다
- 연결을 클릭합니다
2
서비스 계정에 권한 부여
OneSignal이 새 서비스 계정을 생성하고 서비스 계정 이메일 주소를 제공합니다.GCP 프로젝트에서 이 서비스 계정에 OneSignal은 이 역할을 사용하여:
roles/pubsub.editor 역할을 부여합니다:- 이벤트 토픽에 대한 구독 생성
- 토픽에서 이벤트 메시지 소비
- 실패한 처리를 위한 오류 토픽(Dead Letter Queue) 생성
3
연결 테스트
필요한 권한을 부여한 후 OneSignal에서 저장을 클릭하여 연결을 확인합니다.OneSignal은 Pub/Sub 토픽에 액세스할 수 있고 이벤트 메시지를 처리할 준비가 되었는지 확인합니다.
이벤트 데이터 스키마
사용자 지정 이벤트에 Pub/Sub 토픽을 사용하려면 먼저 이벤트 메시지의 스키마를 정의해야 합니다.1
이벤트 스키마 정의로 이동
OneSignal에서 데이터 > 통합으로 이동하여 Pub/Sub 연결을 선택합니다.OneSignal은 프로젝트에서 토픽 목록을 자동으로 가져옵니다. 토픽 새로 고침을 클릭하여 수동으로 목록을 새로 고칩니다.
2
이벤트 메시지 스키마 정의
- 이벤트 데이터가 포함된 토픽 이름을 클릭합니다
- 메시지 형식으로 JSON을 선택합니다 (유일하게 지원되는 형식)
- 샘플 메시지 가져오기를 클릭하고 샘플 이벤트 메시지를 제공합니다
- 감지된 스키마를 검토하여 적절한 필드 매핑을 확인합니다
- 데이터 세트 저장을 클릭합니다
이벤트 메시지 형식
OneSignal 사용자 지정 이벤트의 경우 Pub/Sub 메시지는 다음 JSON 구조를 따라야 합니다:이벤트 데이터 매핑
를 OneSignal의 사용자 지정 이벤트 형식에 매핑합니다:| OneSignal 필드 | 설명 | 필수 | |
|---|---|---|---|
name | event_name | 이벤트 식별자 | Yes |
external_id | user_id | 사용자 식별자 | Yes |
timestamp | event_timestamp | 이벤트가 발생한 시간 | No |
properties | event_data | No |
실시간 이벤트 처리
일괄 처리 통합과 달리 Pub/Sub은 거의 실시간 이벤트 처리를 지원합니다:- 짧은 대기 시간: 이벤트는 토픽에 게시된 후 몇 초 이내에 처리됩니다
- 자동 구독: OneSignal은 각 토픽에 대한 전용 구독을 생성합니다
- 오류 처리: 실패한 이벤트는 조사를 위해 Dead Letter Queue 토픽으로 전송됩니다
- 확장 가능한 처리: 대용량 이벤트 스트림을 자동으로 처리합니다
고급 구성
Dead Letter Queue
OneSignal은 처리에 실패한 이벤트에 대한 오류 토픽을 자동으로 생성합니다:- 자동 생성: 오류 토픽은 구독당 생성됩니다
- 실패한 이벤트 저장: 처리할 수 없는 이벤트는 디버깅을 위해 저장됩니다
- 수동 검토: Google Cloud Console을 통해 실패한 이벤트에 액세스하여 문제를 해결합니다
메시지 승인
OneSignal은 Pub/Sub 메시지 승인을 자동으로 처리합니다:- 성공적인 처리: 메시지는 이벤트 생성 성공 후 승인됩니다
- 실패한 처리: 메시지는 부정적으로 승인되고 Dead Letter Queue로 전송됩니다
- 재시도 로직: 일시적인 장애에 대한 기본 재시도 처리
제한 사항
- JSON 메시지 형식만 지원됩니다
- 메시지 샘플은 데이터 세트 정의의 일부로 저장됩니다 (PII 방지)
- 프로젝트 수준에서
roles/pubsub.editor권한이 필요합니다 - 최대 메시지 크기는 Google Pub/Sub 제한(10MB)을 따릅니다