웹훅으로 푸시 알림함 기능 구성하기
알림함이란 앱이나 웹서비스에서 수신하는 다양한 알림을 한 곳에 모아놓는 기능을 말합니다. 사용자가 푸시 알림을 보지 못했거나 다시 보고 싶을때 알림함에 들어가 다시 확인할 수 있습니다.
핵클의 푸시 캠페인과 웹훅을 활용하여 쉽게 알림함 구현이 가능합니다.
들어가기 전에
웹훅 캠페인을 설정하기 이전에 발송된 푸시메시지는 알림함에 노출되지않습니다.
$push_send 이벤트 알아보기
이번 예제에서는 핵클에서 푸시 캠페인을 진행하면, 자동으로 수집되는 이벤트인 $push_send 를 활용합니다.
$push_send 이벤트는 푸시 메시지 발송이 요청될 때 발생합니다.
즉, 푸시 메시지가 발송되는 이벤트를 트리거로 잡아 웹훅 캠페인을 발송하는 개념입니다.
$push_send
$push_send 이벤트가 수집하는 이벤트 속성은 다음과 같습니다.
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 속성 값을 통해 발송 성공 여부를 확인할 수 있습니다.
발송 요청 결과 코드는 다음과 같습니다.
SUCCESS
전송 성공 시
DEDUP
특정 캠페인의 중복 발송 제한에 걸린 경우
GLOBAL_FREQUENCY_CAPPED
전체 캠페인 발송 빈도 제한 설정으로 제한된 경우
NOT_FOUND_PUSH_PROVIDER_CREDENTIALS
푸시 제공자 인증 정보가 없는 경우
INVALID_PUSH_PROVIDER_CREDENTIALS
푸시 제공자 인증 정보가 유효하지 않은 경우
INVALID_PUSH_TOKEN
유효하지 않은 푸시 토큰인 경우
INTERNAL_ERROR
서버 오류 발생 시
유저 식별자
$push_send 이벤트는 발송 대상의 식별자 중 하나를 수집합니다.
userId
String(nullable)
푸시 발송 대상 유저의 userId 식별자
deviceId
String(nullable)
푸시 발송 대상 유저의 deviceId 식별자

웹훅 설정하기
아래 순서대로 설정하면 푸시 알림함을 구성할 수 있습니다.
웹훅 캠페인 생성
대시보드의 웹훅 메뉴 우측 상단에서 **+ 캠페인 만들기**를 클릭합니다.
원하는 캠페인 이름을 입력해 생성해주세요.


요청 정보 설정
Method 설정
Method 는 POST 로 설정합니다.
Headers 및 Parameter 설정
푸시 알림함 API 스펙에 맞춰 Headers 에 인증정보 등을 추가합니다.
여기서는 Authorization 헤더에 유저 속성의 access-token 을 활용한다고 가정합니다.

Body 설정
Liquid 문법을 활용해 웹훅 Request Body 를 작성합니다.
앞서 살펴본 $push_send 이벤트 속성과 식별자를 그대로 활용합니다.
Request Body

개인화에 사용한 속성이나 식별자 값이 null 이면 "" 로 치환됩니다.
대상 설정
기본 설정 - 모든 푸시 캠페인
모든 푸시 캠페인을 알림함에 노출하려면 대상으로 모든 사용자를 선택합니다.

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

푸시 캠페인 대상과 웹훅 캠페인 대상은 꼭 맞춰주세요.
웹훅 캠페인 대상은 푸시 캠페인 대상과 같거나 더 넓어야 합니다.
가장 안전한 방법은 웹훅 캠페인 대상을 모든 사용자로 두는 것입니다.
발송 설정
웹훅 캠페인 설정을 완료하면 요약 내용을 확인할 수 있습니다.
저장하기를 누른 뒤 발송설정을 클릭합니다.

발송 유형은 이벤트 기반으로 선택합니다.
시작 이벤트는 $push_send 로 설정합니다.
그 뒤 필터 추가하기를 눌러 아래 조건을 추가합니다.
push_message_key
(푸시 캠페인의 키 값)
(선택) 특정 푸시 캠페인만 설정하고 싶은 경우
result
SUCCESS
(추천) 전송 성공한 메세지만 보여주고 싶은 경우
기본 설정 - 모든 푸시 캠페인
모든 푸시 캠페인을 알림함에 노출하려면 result=SUCCESS 조건만 설정합니다.

고급 설정 - 특정 푸시 캠페인
특정 푸시 캠페인만 노출하려면 result 와 함께 push_message_key 도 추가합니다.
예를 들어 메시지 키 값이 2 인 푸시만 노출하려면 push_message_key=2, result=SUCCESS 로 설정합니다.

이 웹훅 캠페인은 알림함 데이터 전송용입니다.
따라서 별도의 발송 제한은 보통 필요하지 않습니다.
완료
푸시 알림함을 위한 웹훅 구성이 끝났습니다.
이제 알림함 수신 API 를 구현하면 실제 알림함 기능을 완성할 수 있습니다.

마지막 업데이트