웹훅으로 푸시 알림함 기능 구성하기

circle-info

알림함이란 앱이나 웹서비스에서 수신하는 다양한 알림을 한 곳에 모아놓는 기능을 말합니다. 사용자가 푸시 알림을 보지 못했거나 다시 보고 싶을때 알림함에 들어가 다시 확인할 수 있습니다.

핵클의 푸시 캠페인과 웹훅을 활용하여 쉽게 알림함 구현이 가능합니다.

들어가기 전에

circle-exclamation

$push_send 이벤트 알아보기

이번 예제에서는 핵클에서 푸시 캠페인을 진행하면, 자동으로 수집되는 이벤트인 $push_send 를 활용합니다.

$push_send 이벤트는 푸시 메시지 발송이 요청될 때 발생합니다. 즉, 푸시 메시지가 발송되는 이벤트를 트리거로 잡아 웹훅 캠페인을 발송하는 개념입니다.

$push_send

$push_send 이벤트가 수집하는 이벤트 속성은 다음과 같습니다.

Field
Type
Description

push_message_key

Long

푸시 메시지 캠페인의 키 값이 들어있습니다.

platform

String

푸시 메시지 발송 대상의 플랫폼 타입 입니다. (ANDROID 또는 IOS)

push_token

String

푸시 메시지 발송 대상의 푸시 토큰 입니다

title

String

고객에게 표시되는 푸시 메시지 타이틀입니다.

push_message_body

String

고객에게 표시되는 푸시 메시지 내용 부분입니다.

push_message_action_type

String

APP_OPEN 또는 DEEP_LINK 값이 들어옵니다.

push_message_action_value

String

action_type 이 DEEP_LINK 인 경우 딥 링크 값이 들어갑니다. 아닌 경우 Empty String("") 입니다.

debug

Boolean

테스트 발송 여부입니다. (true 또는 false)

result

String

푸시 발송 요청 결과 코드입니다.

tag_keys

String

대시보드에서 설정한 태그 값입니다.

$push_send 이벤트에 result 속성 값을 통해 발송 성공 여부를 확인할 수 있습니다. 발송 요청 결과 코드는 다음과 같습니다.

Name
Description

SUCCESS

전송 성공 시

DEDUP

특정 캠페인의 중복 발송 제한에 걸린 경우

GLOBAL_FREQUENCY_CAPPED

전체 캠페인 발송 빈도 제한 설정으로 제한된 경우

NOT_FOUND_PUSH_PROVIDER_CREDENTIALS

푸시 제공자 인증 정보가 없는 경우

INVALID_PUSH_PROVIDER_CREDENTIALS

푸시 제공자 인증 정보가 유효하지 않은 경우

INVALID_PUSH_TOKEN

유효하지 않은 푸시 토큰인 경우

INTERNAL_ERROR

서버 오류 발생 시

유저 식별자

$push_send 이벤트는 발송 대상의 식별자 중 하나를 수집합니다.

Field
Type
Description

userId

String(nullable)

푸시 발송 대상 유저의 userId 식별자

deviceId

String(nullable)

푸시 발송 대상 유저의 deviceId 식별자

웹훅 설정하기

아래 순서대로 설정하면 푸시 알림함을 구성할 수 있습니다.

1

웹훅 캠페인 생성

대시보드의 웹훅 메뉴 우측 상단에서 **+ 캠페인 만들기**를 클릭합니다.

원하는 캠페인 이름을 입력해 생성해주세요.

2

요청 정보 설정

Method 설정

Method 는 POST 로 설정합니다.

Headers 및 Parameter 설정

푸시 알림함 API 스펙에 맞춰 Headers 에 인증정보 등을 추가합니다.

여기서는 Authorization 헤더에 유저 속성의 access-token 을 활용한다고 가정합니다.

Body 설정

Liquid 문법을 활용arrow-up-right해 웹훅 Request Body 를 작성합니다.

앞서 살펴본 $push_send 이벤트 속성과 식별자를 그대로 활용합니다.

Request Body

개인화에 사용한 속성이나 식별자 값이 null 이면 "" 로 치환됩니다.

3

대상 설정

기본 설정 - 모든 푸시 캠페인

모든 푸시 캠페인을 알림함에 노출하려면 대상으로 모든 사용자를 선택합니다.

고급 설정 - 특정 푸시 캠페인

특정 푸시 캠페인만 알림함에 노출하려면 푸시 캠페인의 대상 코호트와 일치하도록 웹훅 코호트를 설정합니다.

circle-exclamation
4

발송 설정

웹훅 캠페인 설정을 완료하면 요약 내용을 확인할 수 있습니다.

저장하기를 누른 뒤 발송설정을 클릭합니다.

발송 유형은 이벤트 기반으로 선택합니다.

시작 이벤트는 $push_send 로 설정합니다.

그 뒤 필터 추가하기를 눌러 아래 조건을 추가합니다.

Key
Value
설명

push_message_key

(푸시 캠페인의 키 값)

(선택) 특정 푸시 캠페인만 설정하고 싶은 경우

result

SUCCESS

(추천) 전송 성공한 메세지만 보여주고 싶은 경우

기본 설정 - 모든 푸시 캠페인

모든 푸시 캠페인을 알림함에 노출하려면 result=SUCCESS 조건만 설정합니다.

고급 설정 - 특정 푸시 캠페인

특정 푸시 캠페인만 노출하려면 result 와 함께 push_message_key 도 추가합니다.

예를 들어 메시지 키 값이 2 인 푸시만 노출하려면 push_message_key=2, result=SUCCESS 로 설정합니다.

이 웹훅 캠페인은 알림함 데이터 전송용입니다.

따라서 별도의 발송 제한은 보통 필요하지 않습니다.

5

완료

푸시 알림함을 위한 웹훅 구성이 끝났습니다.

이제 알림함 수신 API 를 구현하면 실제 알림함 기능을 완성할 수 있습니다.

마지막 업데이트