클래스
Adrop
SDK의 메인 클래스입니다. 싱글톤 패턴으로 동작합니다.
정적 메서드
| 메서드 | 반환 타입 | 설명 |
|---|
observe(config) | Adrop | SDK 초기화 및 DOM 자동 감지 시작 |
instance() | Adrop | 기존 인스턴스 반환 |
인스턴스 메서드
| 메서드 | 반환 타입 | 설명 |
|---|
renderAd(container, request?) | Promise<void> | 광고 렌더링 |
requestAd(request) | Promise<AdropAdResponse> | 광고 데이터만 요청 (단일) |
requestAds(request) | Promise<AdropAdsResponse> | 복수 광고 데이터 요청 |
clear(container) | void | 광고 제거 |
setConfig(config) | void | 설정 변경 |
on(event, callback, filter?) | void | 이벤트 리스너 등록 |
off(event, callback) | void | 이벤트 리스너 해제 |
인스턴스 속성
| 속성 | 타입 | 설명 |
|---|
uid | string | 사용자 식별자 (getter/setter) |
appKey | string | API 인증 키 (getter/setter) |
metrics | AdropMetrics | 사용자 속성 관리 |
AdropMetrics
사용자 속성 관리 클래스입니다.
메서드
| 메서드 | 반환 타입 | 설명 |
|---|
setUserProperties(props) | AdropMetrics | 사용자 속성 설정 (체이닝 가능) |
setAppProperties(props) | AdropMetrics | 앱 속성 설정 (체이닝 가능) |
commit() | Promise<void> | 속성을 서버에 저장 |
properties() | Properties | 현재 설정된 속성 반환 |
clear() | void | 설정된 속성 초기화 (디바이스 속성은 유지) |
인터페이스
AdropConfig
SDK 초기화 옵션입니다.
interface AdropConfig {
appId: string; // 앱 ID (필수)
uid?: string; // 사용자 식별자
appKey?: string; // API 인증 키
debug?: boolean; // 디버그 로깅 (기본값: false)
}
AdropAdRequest
광고 요청 파라미터입니다.
interface AdropAdRequest {
unit: string; // 유닛 ID (필수)
uid?: string; // 사용자 식별자
contextId?: string; // 문맥 타겟팅 ID
trackMode?: 0 | 1; // 0: 자동, 1: 수동 (네이티브)
isEntireClick?: boolean; // 전체 영역 클릭 (네이티브)
theme?: AdTheme; // 테마
useCustomClick?: boolean; // 커스텀 클릭 처리
}
AdropAdResponse
광고 응답 객체입니다 (단일 광고).
interface AdropAdResponse {
code: AdropErrorCode; // 응답 코드
msg: string; // 응답 메시지
result?: AdData; // 광고 데이터 (성공 시)
}
AdropAdsResponse
광고 응답 객체입니다 (복수 광고).
interface AdropAdsResponse {
code: AdropErrorCode; // 응답 코드
msg: string; // 응답 메시지
results?: AdData[]; // 광고 데이터 배열 (성공 시)
}
AdData
광고 데이터 객체입니다.
interface AdData {
// 공통
format: AdFormat; // 광고 포맷
unit: string; // 유닛 ID
ad: string; // 광고 HTML 콘텐츠
w: number; // 광고 너비
h: number; // 광고 높이
type?: string; // 광고 타입
target?: string; // 타겟 URL 열기 방식
// 네이티브 광고 필드
headline?: string; // 광고 제목
body?: string; // 광고 설명
callToAction?: string; // CTA 버튼 텍스트
asset?: string; // 메인 이미지 URL
destinationURL?: string; // 클릭 시 이동 URL
// 식별자 필드
id?: string; // 광고 ID
cpId?: string; // 캠페인 ID
creativeId?: string; // 크리에이티브 ID
accountTag?: string; // 계정 레벨 태그
creativeTag?: string; // 크리에이티브 레벨 태그
// 트래커 필드 (trackMode=1)
pixelTracker?: string; // 픽셀 트래커 URL (1x1 이미지, 노출 추적)
imprTracker?: string; // 노출 트래커 URL
clickTracker?: string; // 클릭 트래커 URL
// 광고주 프로필
profile?: {
displayLogo?: string; // 광고주 로고 URL
displayName?: string; // 광고주 이름
link?: string; // 광고주 프로필 링크
};
// 추가 텍스트 항목
extra?: Record<string, string>;
}
AdropEventFilter
이벤트 필터 옵션입니다.
interface AdropEventFilter {
unit?: string; // 특정 유닛만 필터링
}
Adrop.Events
이벤트 상수입니다. Adrop.Events로 접근합니다.
| 상수 | 값 | 설명 |
|---|
AD_RECEIVED | 'adReceived' | 광고 수신 성공 |
AD_NO_FILL | 'adNoFill' | 직광고 없음 |
AD_IMPRESSION | 'adImpression' | 광고 노출 |
AD_CLICKED | 'adClicked' | 광고 클릭 |
AD_FAILED | 'adFailed' | 광고 요청 실패 |
AD_BACKFILL_NO_FILL | 'adBackfillNoFill' | 백필 광고 없음 |
Adrop.ErrorCode
에러 코드입니다. Adrop.ErrorCode로 접근합니다.
| 상수 | 값 | 설명 |
|---|
OK | 0 | 성공 |
ERROR_CODE_INVALID_UNIT | 4000 | 잘못된 유닛 ID |
ERROR_CODE_AD_INACTIVE | 4001 | 활성 캠페인 없음 |
ERROR_CODE_AD_NO_FILL | 4002 | 매칭되는 광고 없음 |
ERROR_CODE_INVALID_PARAMS | 4003 | 잘못된 파라미터 |
광고 포맷 타입입니다.
type AdFormat = 'banner' | 'nativeAd' | 'backfill';
AdTheme
테마 타입입니다.
type AdTheme = 'light' | 'dark';
이벤트 콜백
각 이벤트의 콜백 시그니처입니다.
// 광고 수신, 노출, 클릭
type AdReceivedCallback = (unit: string, adData: AdData) => void;
type AdImpressionCallback = (unit: string, adData: AdData) => void;
type AdClickedCallback = (unit: string, adData: AdData) => void;
// 광고 없음, 실패, 백필 광고 없음
type AdNoFillCallback = (unit: string) => void;
type AdFailedCallback = (unit: string) => void;
type AdBackfillNoFillCallback = (unit: string) => void;
모든 이벤트 콜백은 첫 번째 인자로 unit을 받습니다. AD_RECEIVED, AD_IMPRESSION, AD_CLICKED 이벤트는 두 번째 인자로 adData도 함께 받습니다.