메인 콘텐츠로 건너뛰기

클래스

Adrop

SDK의 메인 클래스입니다. 싱글톤 패턴으로 동작합니다.

정적 메서드

메서드반환 타입설명
observe(config)AdropSDK 초기화 및 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이벤트 리스너 해제

인스턴스 속성

속성타입설명
uidstring사용자 식별자 (getter/setter)
appKeystringAPI 인증 키 (getter/setter)
metricsAdropMetrics사용자 속성 관리

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로 접근합니다.
상수설명
OK0성공
ERROR_CODE_INVALID_UNIT4000잘못된 유닛 ID
ERROR_CODE_AD_INACTIVE4001활성 캠페인 없음
ERROR_CODE_AD_NO_FILL4002매칭되는 광고 없음
ERROR_CODE_INVALID_PARAMS4003잘못된 파라미터

타입

AdFormat

광고 포맷 타입입니다.
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도 함께 받습니다.