트리거 작업 생성(클라이언트)
1. 기능 소개
서버 측 트리거 운영 작업은 서버로 전송되는 데이터의 적시성에 제약이 있어, 약한 네트워크 연결 게임에서 초 단위의 트리거 응답이 필요한 시나리오를 커버하기 어렵습니다. 이에 4.4 버전부터 ThinkingData SDK의 기능을 활용하여 운영 모듈에 클라이언트 트리거 작업을 출시했습니다. 앱 내 신규 유저 가입, 캐릭터 생성 등의 시나리오에서 밀리초 단위 트리거 요구를 지원하며, 실시간 A/B 분할도 지원합니다.
또한 운영 모듈은 클라이언트 SDK를 통해 App과 직접 통신하므로, webhook 서비스 채널 경로를 추가로 개발하지 않아도 관련 운영 작업 파라미터를 전달할 수 있습니다.
- 데이터 흐름 경로
2. 대표 시나리오
| 시나리오 | 시나리오 설명 | 트리거 규칙 |
|---|---|---|
신규 유저 - 온보딩 가이드 A/B 실험 | 신규 유저를 대상으로 서로 다른 온보딩 가이드 플로우의 A/B 실험을 진행하고, 최종적으로 효과가 가장 좋은 온보딩 가이드 플로우 전략을 전체 유저에 적용 | 유저가 게임을 시작해 유저 식별 ID가 생성되거나, 앱 실행에 성공(게임 프로그램 로딩 완료)하거나, 캐릭터 생성, 계정 가입 등을 하면 즉시 온보딩 가이드 플로우 그룹 전략을 전달 |
대전 중 또는 종료 후 자원 패키지 제공 | '토큰' 파산이 발생하는 보드·카드 게임에서, 대전 중 또는 정산 후 파산하면 즉시 해당 '토큰' 자원 패키지를 푸시 | 대전 자원 변화: 대전 중에는 일반적으로 아이템 변화량(한 번에 차감되는 아이템이 현재 보유량을 초과하는지)을, 정산 시에는 일반적으로 변화 후의 값(<=0이거나 이 유형의 경기 참가 티켓이 부족한지)을 판단 |
| 수치 육성형 게임에서 플레이어가 스테이지에서 (매번) 연속 실패한 후 스테이지 정산 페이지에서 즉시 육성에 필요한 자원 패키지를 푸시 | 연속 실패할 때마다 육성 라인별 상황에 따라 서로 다른 자원 패키지를 푸시(여러 육성 라인의 자원 패키지 조건을 동시에 충족하면 우선순위 로직 적용) | |
약한 네트워크 연결 제품 | 일부 약한 네트워크 연결 제품은 클라이언트 설정을 바꾸려면 패키지를 다시 배포해야 하는데, 클라이언트 SDK를 통해 핫 업데이트로 배포할 수 있습니다(실행 시 또는 재로그인 시 능동적으로 가져옴) 팝업, 배너 슬롯, 롤링 공지 등이 비교적 일반적인 시나리오입니다. | 앱 실행 시 또는 기타 클라이언트 행동 이벤트 |
3. 연동 절차
- 연동 시나리오 확인: 클라이언트 트리거로 해결하려는 비즈니스 시나리오(예: 패키지, 온보딩 A/B 실험 등)를 계획합니다. 시나리오를 확정한 후 ThinkingAI 고객 매니저에게 문의하면 이후 연동을 지원받을 수 있습니다.
- SDK 연동: 자세한 내용은 클라이언트 트리거 기술 연동 문서를 참고하십시오. iOS/Android/미니 게임 플랫폼을 지원합니다.
- 클라이언트 채널 생성 및 테스트: AE 운영 모듈을 열고 운영 설정 > 채널 설정 > 클라이언트 채널 페이지로 이동하여 클라이언트 채널을 생성합니다. 자세한 내용은 클라이언트 채널 설정을 참고하십시오.
- 작업 생성: 채널 연동이 완료되면 운영 작업 생성 페이지로 이동하여 비즈니스 요구에 따라 트리거 규칙과 푸시 콘텐츠를 직접 정의할 수 있습니다.
클라이언트 트리거 작업을 사용하려면 ThinkingData SDK를 통합해야 하며, 일부 트리거 처리 기능은 최소 SDK 버전 번호를 충족해야 합니다. 사용 전에 현재 통합한 SDK 타입과 버전을 확인하십시오. 자세한 내용은 이 장의 6절 SDK 버전별 지원 기능 설명을 참고하십시오.
4. 클라이언트 트리거 작업 생성
진입 경로: 운영 > 운영 작업 > 작업 생성 > 도달 방식 선택 > 클라이언트 도달 선택 > 채널 선택을 거쳐 운영 작업 편집 페이지로 들어갑니다.
4.1 푸시 시점
클라이언트 트리거 작업은 현재 트리거 - A 완료와 트리거 - A 완료 후 B 미완료 푸시 타입을 지원하며, 완료할 때마다, 매 연속 완료, 순서대로 완료할 때마다의 세 가지 트리거 집계 모드를 지원합니다.
유저가 지정한 행동 이벤트 또는 행동 시퀀스를 완료하면 즉시 푸시로 도달합니다. 예를 들어 플레이어 레벨이 50에 도달하면 50레벨 기간 한정 패키지를 트리거합니다.
클라이언트 트리거 규칙은 클라이언트 수집 이벤트에 대한 트리거 계산만 지원하며, 업데이트 가능 이벤트, 최초 이벤트로 지정된 이벤트의 계산은 지원하지 않습니다.
4.1.1 트리거 - A 완료 — 완료할 때마다
완료할 때마다: 유저가 작업 주기 내에 특정 행동을 누적 완료할 때마다 푸시를 1회 트리거합니다
예: 유저가 충전 이벤트를 2회 완료할 때마다 할인 쿠폰을 1장 푸시합니다
- 선택한 시작 및 종료 시간 내에서 일/주/월 단위 또는 주기 내로 집계하여 특정 행동을 누적 완료할 때마다 푸시로 도달할 수 있습니다
- 단일 이벤트 다회 트리거 규칙과 행동 이벤트 속성 필터를 지원합니다
- 커스텀 매일/매주/매월 시작 및 종료 시간을 지원합니다. 예: 5:00->다음 날 5:00을 하루로, 매주 수요일 5:00->다음 주 수요일 5:00을 한 주로 설정할 수 있습니다
- 트리거 조건을 '조건 1 또는 조건 2를 완료할 때마다'로 설정한 경우, 그중 한 조건이 트리거될 때 다른 조건의 계산 윈도우를 닫을지 여부를 설정할 수 있습니다.
4.1.2 트리거 - A 완료 — 매 연속 완료
매 연속 완료: 유저가 작업 주기 내에 특정 이벤트를 여러 번 연속 완료할 때마다, 그 사이에 다른 이벤트를 하지 않았다면 푸시를 1회 트리거합니다(다른 이벤트는 행동하지 않은 이벤트 추가로 설정할 수 있습니다).
예: 2시간 이내에 레벨업에 2회 연속 실패하고 그 사이에 충전하지 않은 유저에게 패키지를 푸시합니다
- 선택한 시작 및 종료 시간 내에서 일/주/월 단위 또는 주기 내로 집계하여 지정한 이벤트를 여러 번 연속 완료할 때마다 푸시로 도달할 수 있습니다
- 단일 이벤트 다회 트리거 규칙과 행동 이벤트 속성 필터를 지원합니다
- 관련 속성, 시간 윈도우, 행동하지 않은 이벤트를 추가할 수 있습니다
- 커스텀 매일/매주/매월 시작 및 종료 시간을 지원합니다. 예: 5:00->다음 날 5:00을 하루로, 매주 수요일 5:00->다음 주 수요일 5:00을 한 주로 설정할 수 있습니다
4.1.3 트리거 - A 완료 — 순서대로 완료할 때마다
순서대로 완료할 때마다: 지정한 행동 시퀀스를 순서대로 완료할 때마다 푸시를 1회 트리거합니다.
예: 2시간 이내에 "로그인-뽑기-결제"를 순서대로 완료한 유저에게 패키지를 푸시합니다
- 선택한 시작 및 종료 시간 내에서 일/주/월 단위 또는 주기 내로 집계하여 지정한 행동 시퀀스를 순서대로 완료한 후 푸시로 도달할 수 있습니다
- 다양한 이벤트 트리거 규칙과 행동 이벤트 속성 필터를 지원합니다
- 커스텀 매일/매주/매월 시작 및 종료 시간을 지원합니다. 예: 5:00->다음 날 5:00을 하루로, 매주 수요일 5:00->다음 주 수요일 5:00을 한 주로 설정할 수 있습니다
4.1.4 트리거 - A 완료 후 B 미완료
유저가 지정한 행동 A를 완료하고, 일정 시간 내에 행동 B를 완료하지 않은 경우 푸시로 도달합니다.
예를 들어 플레이어가 특정 기간 한정 패키지 획득(A 완료) 후 0.5시간 이내에 구매 미완료(B 미완료) 시 패키지가 곧 만료된다는 인앱 메시지를 트리거합니다.
유저가 A 조건을 1회 완료할 때마다 독립된 관찰 기간이 하나씩 시작되며, 해당 기간 내에 B 조건을 완료하는지 판단합니다. 유저가 어느 관찰 기간에서든 B 조건을 완료하면 푸시를 1회 트리거하고, 나머지 모든 관찰 기간은 즉시 종료됩니다.
4.2 푸시 제어
4.2.1 푸시 빈도
푸시 빈도로 유저가 일정 기간 동안 받을 수 있는 최대 푸시 횟수를 제한할 수 있습니다. 다음 중에서 선택할 수 있습니다.
- 1회 실행 내 유저가 받을 수 있는 최대 푸시 횟수(1회 실행은 앱을 연 시점부터 앱을 종료하거나 강제 종료할 때까지를 말하며, 앱 화면을 벗어나 백그라운드로 전환되어도 같은 실행으로 간주)
- 작업 기간 내 유저가 받을 수 있는 최대 푸시 횟수(예: 작업 기간 내 1회만)
- X일/주 이내 유저가 받을 수 있는 최대 푸시 횟수(슬라이딩 윈도우. 예: 7일 이내 1회만 허용하면 최근 7*24시간 이내에 한 번만 받을 수 있음)
- X일 / 주 / 월마다 유저가 받을 수 있는 최대 푸시 횟수(롤링 윈도우. 예: 매주 1회로 설정하면 달력 기준 한 주 안에 한 번만 받을 수 있음)
예를 들어 게임 내 이벤트가 주 단위로 갱신되고, 트리거 규칙이 플레이어가 매주 플레이 참여 횟수 30회를 넘기면 관련 아이템을 1회 푸시하는 것이라고 가정합니다. 동시에 해당 플레이어가 매주 1회만 푸시를 받기를 원한다면, 시작 및 종료 시간에서 매주 누적 완료를 선택하고, 푸시 빈도에서 매주 단일 유저 최대 수신 1회로 설정하면 됩니다. 주 시작일을 커스텀할 수도 있습니다.
클라이언트 트리거 작업은 클라이언트 SDK가 계산을 수행하므로 클라이언트에서 수집한 이벤트만 계산할 수 있습니다. 유저가 여러 디바이스에서 로그인하면 각 단말 디바이스에서 트리거와 빈도 제어를 독립적으로 계산합니다.
4.3 타겟 유저
타겟 그룹을 커스텀하거나, 트리거 조건을 충족하는 모든 유저에게 푸시하도록 선택할 수 있습니다.
4.3.1 커스텀 그룹
유저 행동이 트리거되면 해당 유저가 타겟 유저 그룹에 속하는지 판단하고, 타겟 유저 조건을 충족하는 그룹에 푸시합니다. 적시성에 따라 실시간 계산 타겟 유저 그룹과 시간 단위로 업데이트되는 타겟 유저 그룹으로 나뉩니다.
실시간 계산 타겟 유저 그룹
-
트리거 후 타겟 유저에 속하는지 실시간으로 계산합니다
-
다음 조건에서 실시간 계산을 지원합니다.
- 타겟 유저 조건에 실시간 계산 지원되는 유저 속성과 코호트만 사용한 경우
- 실시간 계산을 지원하는 유저 속성: 정의에 유저 태그나 실시간 사용 불가 차원 테이블의 속성이 포함되지 않은 속성
- 실시간 계산을 지원하는 유저 코호트: 코호트 크기가 규정 한도(기본 200만 유저)를 넘지 않는 코호트
-
타겟 유저 조건에 실시간 계산을 지원하는 유저 코호트를 사용한 경우, 규칙 수정을 클릭하여 해당 코호트의 업데이트 계산 빈도(기본 12시간마다 업데이트)를 변경할 수 있습니다
정기 계산 타겟 유저 그룹
- 정기 계산은 지정한 계산 빈도에 따라 타겟 유저 그룹을 정기적으로 업데이트하여 계산하는 방식입니다. 행동이 트리거되면 가장 최근 계산 결과에 따라 유저가 해당 타겟 유저 그룹에 속하는지 판단합니다.
- 타겟 유저 그룹 조건에 이벤트, 태그, 실시간 계산을 지원하지 않는 차원 테이블, 규정 한도를 초과한 코호트가 포함된 경우 정기 계산만 지원합니다.
- 규칙 수정을 클릭하여 타겟 유저 그룹의 업데이트 주기(기본 12시간마다 업데이트)를 변경할 수 있습니다
코호트 업데이트에는 일정한 계산 리소스가 사용되므로, 비즈니스 시나리오에 맞게 적절한 업데이트 주기를 선택하여 불필요한 계산 리소스 소모를 피하십시오.
4.3.2 모든 유저
트리거 조건을 충족한 후에는 유저를 더 세밀하게 필터링하지 않으며, 트리거 조건만 충족하면 푸시를 실행합니다.
4.3.3 인원 예측
그룹 선정 조건을 설정한 후 예측을 클릭하여 타겟 유저 수를 추정하고, 운영 작업이 도달할 수 있는 그룹 범위를 평가할 수 있습니다.
예측 인원이 실제 값에 최대한 가깝도록, 예측 그룹은 타겟 유저 조건을 충족하고 사용하는 도달 채널의 전송 ID가 비어 있지 않은(즉, 정상적으로 푸시할 수 있는) 타겟 유저 수로 계산합니다.
4.4 클라이언트 조건
서버 측 트리거 작업과 달리, 클라이언트 트리거 작업은 AE 데이터 리소스 외에도 클라이언트를 통해 적시성이 더 높은 클라이언트 파라미터를 가져올 수 있습니다. 클라이언트 파라미터에는 ThinkingData SDK가 가져올 수 있는 환경 파라미터가 포함되며, 그 밖에도 TDRemoteConfig SDK의 공개된 SET 파라미터 인터페이스로 게임 내 비즈니스 파라미터를 SDK 로컬에 SET할 수 있습니다(자세한 내용은 클라이언트 트리거 SDK 연동 문서 참고). 이러한 파라미터는 트리거 작업의 로컬 조건 판단에 사용할 수 있습니다. 사용 절차는 다음과 같습니다.
- SDK의 공개 인터페이스로 커스텀 파라미터를 SET한 후, 커스텀 클라이언트 파라미터를 AE 백엔드에 추가합니다(자세한 내용은 클라이언트 파라미터 참고)
- 클라이언트 파라미터로 운영 작업에서 클라이언트 조건을 설정합니다. 이 조건은 클라이언트 SDK로 바로 전달되며, 유저 행동이 트리거 규칙을 충족하면 현재 클라이언트가 가진 파라미터가 제한 조건을 충족하는지 즉시 판단하여 더욱 실시간에 가까운 조건 판단을 구현합니다.
4.5 푸시 설정
4.5.1 A/B 실험 설정
트리거 작업은 A/B 분할 실험과 경쟁 실험을 지원합니다. 자세한 내용은 A/B 실험 장을 참고하십시오
또한 클라이언트 트리거는 유저 ID(클라이언트) 또는 계정 ID를 분할 단위로 선택할 수 있습니다.
4.5.2 피로도 제어
여러 운영 작업이 같은 도달 방식(채널)을 사용할 때, 단일 유저가 일정 기간 동안 같은 유형의 채널에서 받을 수 있는 최대 푸시 횟수를 제한하여 유저에게 과도한 방해가 되지 않도록 할 수 있습니다.
4.6 푸시 콘텐츠
클라이언트 트리거는 현재 다국어를 지원하지 않습니다. 다국어 푸시가 필요한 경우 ThinkingAI CSM에 문의하여 해결 방안을 받으십시오.
선택한 도달 채널에 따라 운영 전략에 맞는 도달 메시지 내용을 입력할 수 있습니다. 유저 속성을 삽입하여 개인화 문구를 만들 수 있고, 테스트 발송으로 푸시 효과를 바로 미리 보고 확인할 수 있으며, 필요에 따라 피로도 제어를 활성화하거나 작업 화이트리스트를 설정할 수도 있습니다.
4.6.1 개인화 콘텐츠
도달 내용에 유저 속성 또는 클라이언트 파라미터를 삽입할 수 있습니다. 도달 내용에 맞게 필요한 유저 속성이나 설정한 클라이언트 파라미터를 삽입하여 개인화된 콘텐츠를 푸시할 수 있습니다. 예를 들어 도달 내용에 유저 닉네임 속성을 삽입하면 유저가 실제로 받는 메시지에 해당 유저의 닉네임이 들어갑니다.
4.6.2 테스트 발송
작업을 승인 요청하기 전에 테스트 발송으로 이번 운영 작업의 푸시 콘텐츠를 미리 보고 오류가 없는지 확인할 수 있습니다.
클라이언트 트리거의 테스트 발송에는 테스트 디바이스가 필요합니다. 테스트 디바이스를 선택하고 디버그 모드를 활성화하십시오. 디버그 모드 활성화 방법은 클라이언트 트리거 SDK 연동 문서를 참고하십시오.
트리거 규칙, 푸시 빈도, 클라이언트 조건, 푸시 콘텐츠를 테스트할 수 있습니다. 테스트 내용을 설정한 후 테스트 디바이스를 선택하고 보내기를 클릭하십시오
4.6.3 트리거 값 사용
푸시 타입으로 트리거 - A 완료를 선택한 경우, 트리거 조건 집계 값 또는 트리거 시점의 이벤트 속성 값을 푸시 콘텐츠 필드 값으로 정의하여 더욱 세밀한 운영 전략을 구현할 수 있습니다.
사용 시나리오 예:
- 스테이지에서 연속 실패한 경우 해당 스테이지 ID를 가져와 그에 맞는 스테이지 난이도를 동적으로 전달할 수 있습니다(위 그림 참고)
- 게임 시나리오에서 플레이어가 상점에서 클릭한 상품 타입을 바탕으로 해당 상품 타입의 할인 쿠폰을 푸시합니다(예: 스킨, 영웅, 펫, 무기 등의 아이템 타입을 선호하면 해당 아이템 타입의 할인 쿠폰, 즉 스킨 할인 쿠폰, 무기 할인 쿠폰 등을 푸시)
- 플레이어가 특정 자원을 누적 소모한 수량을 집계하고, 소모 수량에 따라 자원 패키지 내용을 동적으로 내려보냅니다
- 라이브 방송 제품 시나리오에서는 플레이어가 팔로우한 스트리머가 방송을 시작하면 스트리머의 id를 가져오고, 푸시 콘텐츠에서 스트리머 id로 최종 홈페이지 주소를 조합하여 플레이어가 해당 스트리머 페이지로 바로 이동할 수 있게 합니다
4.7 목표 설정
유저가 도달된 후 지정한 이벤트 행동을 완료하면 전환으로 간주하며, 이를 운영 작업의 효과 평가에 사용합니다.
주요 목표 1개와 보조 목표 2개를 동시에 설정할 수 있습니다.
4.8 지표 설정
임의의 도달 노드 이후의 지표 성과를 설정할 수 있어 운영 효과를 판단하는 데 도움이 됩니다.
자세한 사용 방법은 작업 효과 분석 장을 참고하십시오.
5. 기능 FAQ
-
클라이언트 트리거 운영 작업의 개수에 상한이 있나요?
사양: 단일 프로젝트당 예약 작업 200개, 서버 측 트리거 작업 30개, 클라이언트 트리거 작업 30개를 지원합니다
현재 단일 프로젝트당 최대 30개의 클라이언트 트리거 운영 작업을 지원합니다. 상한을 늘려야 하는 경우 운영 관리 담당자에게 변경을 요청하십시오.
-
트리거 규칙의 시작 및 종료 시간은 무엇을 의미하나요?
시작 및 종료 시간은 A 이벤트 완료에 대한 시간 범위 제한입니다. 즉, 시작 및 종료 시간 내에 발생하지 않은 A 이벤트는 트리거 규칙 계산에 포함되지 않습니다.
-
운영 작업 주기를 수동으로 선택할 수 없는 이유는 무엇인가요?
작업 주기는 작업의 시작 및 종료 시간을 나타냅니다. 트리거 작업에서는 지연 푸시 설정이 있으므로 작업 주기 = 이벤트 A의 시작 및 종료 시간 + 이벤트 A, B 간격 시간 + 지연 푸시 시간이며, 자동으로 계산됩니다.
-
지연 푸시와 이벤트 A, B 간격 시간의 '일'은 달력 기준 하루인가요, 24시간인가요?
일, 시간, 분은 모두 초 단위로 계산됩니다. 1일 지연은 24시간, 즉 86400초 지연을 의미합니다.
-
클라이언트 파라미터 채널의 메시지 타입은 무엇인가요?
6. SDK 버전별 지원 기능 설명
| 기능 특성 | 최소 TDstrategySDK 지원 버전 |
|---|---|
| 1.2.0 |
| 1.3.0 |
7. 사용 가능한 데이터 리소스
| 주요 단계 | 사용 가능한 리소스 |
|---|---|
| 푸시 시점 |
|
| 타겟 유저 |
|
| 푸시 콘텐츠 |
|

