# Marketap 개요

## 1. 소개

Marketap SDK는 **고객 행동 데이터 수집**과 **멀티채널 메시지 수신/전환 추적**을 단일 라이브러리로 제공하는 경량 클라이언트입니다. 앱·웹에 SDK를 포함하기만 하면 실시간 이벤트가 Marketap 플랫폼으로 스트리밍되고, 조건에 맞는 메시지가 다시 기기로 전달됩니다.

## 2. App Performance & SDK Compatibility

Marketap SDK는 **메모리·CPU 사용량을 최소화**하도록 설계되었습니다.

* **스레드 분리** : 모든 I/O는 백그라운드에서 비동기로 실행돼 UI 스레드를 차단하지 않습니다.
* **오프라인 큐** : 연결이 끊겨도 로컬 DB에 안전하게 보관했다가 재연결 시 자동 재전송합니다.
* **예외 핸들링**: SDK에서 예외가 발생하더라도, Logging 이외에는 앱에 영향을 미치지 않습니다.

Marketap SDK는 **다른 서드파티 SDK와 네임스페이스 충돌이 없도록** 패키지를 격리

* **Firebase 등 주요 SDK와 동시 사용 검증**
* 문제 발생 시 <help@marketap.io>로 로그·환경 정보를 보내주시면 전담 엔지니어가 대응합니다.

## 3. Marketap이란?

**Marketap**은 **고객 행동 데이터를 기반으로 한 멀티채널 마케팅 자동화 플랫폼**입니다.

앱과 웹에서 활동하는 고객의 행동을 면밀하게 수집·분석하고, 이를 기반으로 다양한 채널을 통해 다시 고객에게 적절한 액션을 수행합니다.

이를 통해 고객이 앱/웹에 접속해 있을 때뿐만 아니라, **비접속 상태에서도 브랜드와 지속적으로 연결**되며, **개인화된 콘텐츠**를 경험할 수 있도록 지원합니다.

플랫폼은 세 가지 핵심 구성요소로 이루어져 있습니다.

<table><thead><tr><th width="171.64453125">구성요소</th><th>역할</th></tr></thead><tbody><tr><td>SDK</td><td>앱·웹에서 이벤트·사용자 데이터를 수집하고 메시지를 수신</td></tr><tr><td>Console</td><td>캠페인 생성, 세그먼트 정의, 리포트 시각화</td></tr><tr><td>API</td><td>서버-사이드 배치 업로드, API로 메세지 발송</td></tr></tbody></table>

### 3.1 SDK

Marketap SDK는 고객사의 모바일 및 웹 애플리케이션에 설치되어, 마케팅 자동화, 사용자 식별, 행동 기반 분석을 위한 강력한 기능을 제공합니다.

고객사 클라이언트(웹, 앱)에 완전히 연동을 마친 Marketap SDK는 다음과 같은 역할을 합니다.

1. 고객의 행동데이터 (예: 페이지 방문, 구매 등) 및 고객 정보 (등급, 성별 등)를 실시간으로 수집합니다.
2. `identify` 및 `reset` 기능을 통해 **사용자와 디바이스를** [**연결하거나 해제**](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/taxonomy/sdk/user-profile/device)하고, 단일 고객 뷰를 구성합니다.
3. 푸시 및 인앱메세지 채널을 통해 플랫폼에 방문한 고객들에게 메세지를 전달합니다.

{% content-ref url="integration-overview" %}
[integration-overview](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/getting-started/integration-overview)
{% endcontent-ref %}

### 3.2 Analytics & Audience (Console)

Marketap 콘솔은 수집된 고객 데이터 기반의 **실시간 분석**과 **세그먼트(Audience)** 생성을 지원합니다.

* **분석**: 수집된 이벤트 및 유저 속성을 기반으로 표, 차트, 퍼널, 코호트 등 다양한 방식으로 시각화하여 보여줍니다.
* **세그먼트 생성**: 사용자 속성, 행동 조건, 이벤트 집계 기준으로 오디언스를 정의할 수 있습니다.
  * **AND/OR 조건** 기반의 강력한 필터링을 지원하며, 각 세그먼트는 조건 충족 여부에 따라 자동으로 포함/제외됩니다.
  * SDK를 통해 수집된 이벤트, 이벤트 속성, 유저 속성을 통해 조건을 설정하기 때문에, 오디언스 및 분석을 정확하게 하기 위해서는 SDK의 연동 상황이 중요합니다.

### 3.3 On, Off-Site 채널 메세지 (Console)

**Marketap은 다양한 채널을 통해 고객과의 연결을 유지합니다.**

메시지는 고객이 플랫폼에 접속해 있을 때(**On-site**) 뿐만 아니라, 접속하지 않은 상태(**Off-site**)에서도 전달될 수 있습니다.

<table><thead><tr><th width="138.0234375">채널 유형</th><th width="236.31640625">예시</th><th>설명</th></tr></thead><tbody><tr><td>On-site</td><td>인앱 메시지, 웹 팝업</td><td>앱/웹 방문 중에 개인화된 메시지를 실시간으로 노출</td></tr><tr><td>Off-site</td><td>푸시 알림, 카카오 알림톡, 카카오 브랜드메세지, SMS</td><td>방문하지 않은 고객에게 리마인더 또는 캠페인 메시지 전달</td></tr></tbody></table>

### 3.4 Rest API

Marketap REST API는 **서버 사이드에서 사용자 데이터와 이벤트를 연동**합니다.

* **사용자 동기화**: 서버에서 사용자 목록을 업로드하거나, 속성 값을 대량으로 갱신할 수 있습니다 (`/users/batch`)
* **서버 이벤트 전송**: SDK가 아닌 외부 서버에서 이벤트를 전송할 수 있습니다 (`/events`)

API는 모든 요청에 대해 토큰 기반 인증을 지원하며, 요청/응답 포맷은 JSON을 따릅니다.

{% content-ref url="../open-api/overview" %}
[overview](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/open-api/overview)
{% endcontent-ref %}

## 4. Marketap 연동하기

**Marketap은 빠르게 연동하여 바로 사용할 수 있도록 설계되었습니다.**

보통 2\~4주 이내에 전체 연동이 가능하며, 다음과 같은 단계로 진행됩니다:

1. **SDK 설치 및 초기화**
   * 각 플랫폼(Android, iOS, Web 등)에 맞는 SDK를 설치하고, `projectId`를 사용해 초기화합니다.
2. **발신 채널 설정**
   * 푸시: Firebase/APNs 키 등록
   * 카카오: 채널 등록 및 템플릿 승인
   * SMS: 발신번호 등록 및 인증
3. **이벤트 수집 확인**
   * 테스트 환경에서 실제 이벤트가 수집되고 있는지 콘솔에서 확인
4. **메시지 발송 테스트**
   * 내부 계정을 대상으로 샘플 메시지를 발송하여 수신·전환 로직을 검증
5. **런칭 & 모니터링**
   * 운영 환경으로 전환 후, 실시간 대시보드를 통해 캠페인 성과를 모니터링합니다.
