메인 콘텐츠로 건너뛰기

Adrop

Adrop SDK를 초기화하고 전역 설정을 관리하는 클래스입니다.

initialize

static initialize(
  production: boolean,
  targetCountries?: string[],
  useInAppBrowser?: boolean
): void
Adrop SDK를 초기화합니다. Parameters:
  • production (boolean): 프로덕션 모드 여부 (true: 프로덕션, false: 개발)
  • targetCountries (string[], optional): 타겟 국가 코드 배열 (기본값: [])
  • useInAppBrowser (boolean, optional): 인앱 브라우저 사용 여부 (기본값: false)
Example:
import Adrop from 'adrop-ads-react-native'

Adrop.initialize(true, ['KR', 'US'], false)

setUID

static setUID(uid: string): void
사용자 고유 식별자를 설정합니다. Parameters:
  • uid (string): 사용자 고유 식별자
Example:
Adrop.setUID('user123')

setTheme

static setTheme(theme: AdropTheme): void
앱의 테마를 설정합니다. Parameters:
  • theme (AdropTheme): 테마 값 (‘light’, ‘dark’, ‘auto’)
Example:
import Adrop, { AdropTheme } from 'adrop-ads-react-native'

Adrop.setTheme(AdropTheme.dark)

AdropTheme

앱의 테마를 지정하는 상수 객체입니다.
const AdropTheme = {
  light: 'light',
  dark: 'dark',
  auto: 'auto',
} as const

type AdropTheme = typeof AdropTheme[keyof typeof AdropTheme]
Values:
  • light: 라이트 테마
  • dark: 다크 테마
  • auto: 시스템 설정에 따름

AdropErrorCode

광고 로드 및 표시 시 발생할 수 있는 에러 코드입니다.
enum AdropErrorCode {
  network = 'ERROR_CODE_NETWORK',
  internal = 'ERROR_CODE_INTERNAL',
  initialize = 'ERROR_CODE_INITIALIZE',
  invalidUnit = 'ERROR_CODE_INVALID_UNIT',
  notTargetCountry = 'ERROR_CODE_NOT_TARGET_COUNTRY',
  inactive = 'ERROR_CODE_AD_INACTIVE',
  adNoFill = 'ERROR_CODE_AD_NO_FILL',
  adDuplicated = 'ERROR_CODE_AD_LOAD_DUPLICATED',
  adLoading = 'ERROR_CODE_AD_LOADING',
  adEmpty = 'ERROR_CODE_AD_EMPTY',
  adShown = 'ERROR_CODE_AD_SHOWN',
  adHideForToday = 'ERROR_CODE_AD_HIDE_FOR_TODAY',
  adLandscapeUnsupported = 'ERROR_CODE_LANDSCAPE_UNSUPPORTED',
  undefined = 'UNDEFINED',
}
Error Codes:
  • network: 네트워크 오류
  • internal: 내부 오류
  • initialize: SDK 초기화 오류
  • invalidUnit: 유효하지 않은 광고 유닛
  • notTargetCountry: 타겟 국가가 아님
  • inactive: 비활성화된 광고
  • adNoFill: 광고 없음
  • adDuplicated: 중복된 광고 로드 요청
  • adLoading: 광고 로딩 중
  • adEmpty: 광고가 비어있음
  • adShown: 이미 표시된 광고
  • adHideForToday: 오늘 하루 숨김 처리된 광고
  • adLandscapeUnsupported: 가로 모드 미지원
  • undefined: 정의되지 않은 오류

AdropBanner

배너 광고를 표시하는 React 컴포넌트입니다.

Props

type AdropBannerProp = {
  style: { height: number; width: number | string }
  unitId: string
  useCustomClick?: boolean
  adSize?: { width: number; height: number } | null
  autoLoad?: boolean
  onAdReceived?: (unitId: string, metadata?: AdropBannerMetadata) => void
  onAdImpression?: (unitId: string, metadata?: AdropBannerMetadata) => void
  onAdClicked?: (unitId: string, metadata?: AdropBannerMetadata) => void
  onAdFailedToReceive?: (unitId: string, errorCode?: any) => void
}
Props:
  • style (object, required): 배너 스타일 (높이와 너비 포함)
  • unitId (string, required): 광고 유닛 ID
  • useCustomClick (boolean, optional): 커스텀 클릭 처리 여부 (기본값: false)
  • adSize (object, optional): 광고 크기 설정
  • autoLoad (boolean, optional): 자동 로드 여부 (기본값: true)
  • onAdReceived (function, optional): 광고 수신 시 호출
  • onAdImpression (function, optional): 광고 노출 시 호출
  • onAdClicked (function, optional): 광고 클릭 시 호출
  • onAdFailedToReceive (function, optional): 광고 수신 실패 시 호출

Methods

load()
load(): void
광고를 로드합니다. (ref를 통해 호출)

AdropBannerMetadata

type AdropBannerMetadata = {
  creativeId: string
  txId: string
  campaignId: string
  destinationURL: string
}
Example:
import AdropBanner from 'adrop-ads-react-native'

<AdropBanner
  style={{ width: 320, height: 50 }}
  unitId="PUBLIC_TEST_UNIT_ID_320_50"
  onAdReceived={(unitId, metadata) => console.log('Ad received', metadata)}
  onAdFailedToReceive={(unitId, errorCode) => console.log('Ad failed', errorCode)}
/>

AdropNativeAd

네이티브 광고를 관리하는 클래스입니다.

Constructor

constructor(unitId: string, useCustomClick: boolean = false)
Parameters:
  • unitId (string): 광고 유닛 ID
  • useCustomClick (boolean, optional): 커스텀 클릭 처리 여부 (기본값: false)

Properties

isLoaded (readonly)
get isLoaded(): boolean
광고 로드 여부를 반환합니다. unitId (readonly)
get unitId(): string
광고 유닛 ID를 반환합니다. useCustomClick (readonly)
get useCustomClick(): boolean
커스텀 클릭 처리 여부를 반환합니다. creativeId (readonly)
get creativeId(): string
크리에이티브 ID를 반환합니다. txId (readonly)
get txId(): string
트랜잭션 ID를 반환합니다. campaignId (readonly)
get campaignId(): string
캠페인 ID를 반환합니다. isBackfilled (readonly)
get isBackfilled(): boolean
백필 광고 여부를 반환합니다. properties (readonly)
get properties(): AdropNativeProperties
광고 속성을 반환합니다. listener
listener?: AdropNativeAdListener
광고 이벤트 리스너를 설정합니다.

Methods

load()
load(): void
광고를 로드합니다. destroy()
destroy(): void
광고 인스턴스를 해제합니다.

AdropNativeProperties

type AdropNativeProperties = {
  icon?: string
  cover?: string
  headline?: string
  body?: string
  creative?: string
  asset?: string
  destinationURL?: string
  advertiserURL?: string
  accountTag?: string
  creativeTag?: string
  advertiser?: string
  callToAction?: string
  profile?: AdropNativeProfile
  extra?: Record<string, string>
  isBackfilled?: boolean
}

AdropNativeProfile

type AdropNativeProfile = {
  displayName: string
  displayLogo: string
}

AdropNativeAdListener

interface AdropNativeAdListener {
  onAdReceived?: (ad: AdropNativeAd) => void
  onAdClicked?: (ad: AdropNativeAd) => void
  onAdImpression?: (ad: AdropNativeAd) => void
  onAdFailedToReceive?: (ad: AdropNativeAd, errorCode?: any) => void
}
Example:
import { AdropNativeAd } from 'adrop-ads-react-native'

const nativeAd = new AdropNativeAd('YOUR_UNIT_ID')

nativeAd.listener = {
  onAdReceived: (ad) => console.log('Ad received', ad.properties),
  onAdFailedToReceive: (ad, errorCode) => console.log('Ad failed', errorCode),
}

nativeAd.load()

AdropNativeAdView

네이티브 광고를 표시하는 컨테이너 컴포넌트입니다.

Props

type Props = ViewProps & {
  nativeAd?: AdropNativeAd
}
Props:
  • nativeAd (AdropNativeAd, optional): 네이티브 광고 인스턴스
  • …ViewProps: React Native View의 모든 props
Example:
import { AdropNativeAdView } from 'adrop-ads-react-native'

<AdropNativeAdView nativeAd={nativeAd}>
  {/* 네이티브 광고 뷰들 */}
</AdropNativeAdView>

네이티브 광고 뷰 컴포넌트

네이티브 광고의 각 요소를 표시하는 컴포넌트들입니다. 모든 컴포넌트는 AdropNativeAdView 내부에서 사용해야 합니다.

AdropIconView

광고 아이콘을 표시합니다.
interface IconViewProps extends Omit<ImageProps, 'source'> {
  source?: ImageSourcePropType | undefined
}
Example:
import { AdropIconView } from 'adrop-ads-react-native'

<AdropIconView style={{ width: 50, height: 50 }} />

AdropHeadLineView

광고 헤드라인을 표시합니다.
const AdropHeadLineView: React.FC<TextProps>
Example:
import { AdropHeadLineView } from 'adrop-ads-react-native'

<AdropHeadLineView style={{ fontSize: 18, fontWeight: 'bold' }} />

AdropBodyView

광고 본문을 표시합니다.
const AdropBodyView: React.FC<TextProps>
Example:
import { AdropBodyView } from 'adrop-ads-react-native'

<AdropBodyView style={{ fontSize: 14 }} />

AdropMediaView

광고 미디어(이미지/비디오)를 표시합니다.
const AdropMediaView: React.FC<ViewProps>
Example:
import { AdropMediaView } from 'adrop-ads-react-native'

<AdropMediaView style={{ width: '100%', height: 200 }} />

AdropCallToActionView

광고 CTA(Call To Action) 버튼을 표시합니다.
const AdropCallToActionView: React.FC<TextProps>
Example:
import { AdropCallToActionView } from 'adrop-ads-react-native'

<AdropCallToActionView
  style={{
    backgroundColor: '#007AFF',
    color: 'white',
    padding: 10
  }}
/>

AdropAdvertiserView

광고주 정보를 표시합니다.
const AdropAdvertiserView: React.FC<TextProps>
Example:
import { AdropAdvertiserView } from 'adrop-ads-react-native'

<AdropAdvertiserView style={{ fontSize: 12, color: 'gray' }} />

AdropProfileLogoView

프로필 로고를 표시합니다.
interface IconViewProps extends Omit<ImageProps, 'source'> {
  source?: ImageSourcePropType | undefined
}
Example:
import { AdropProfileLogoView } from 'adrop-ads-react-native'

<AdropProfileLogoView style={{ width: 30, height: 30, borderRadius: 15 }} />

AdropProfileNameView

프로필 이름을 표시합니다.
const AdropProfileNameView: React.FC<TextProps>
Example:
import { AdropProfileNameView } from 'adrop-ads-react-native'

<AdropProfileNameView style={{ fontSize: 14, fontWeight: '600' }} />

AdropInterstitialAd

전면 광고를 관리하는 클래스입니다.

Constructor

constructor(unitId: string)
Parameters:
  • unitId (string): 광고 유닛 ID

Properties

isLoaded (readonly)
get isLoaded(): boolean
광고 로드 여부를 반환합니다. unitId (readonly)
get unitId(): string
광고 유닛 ID를 반환합니다. creativeId (readonly)
get creativeId(): string
크리에이티브 ID를 반환합니다. txId (readonly)
get txId(): string
트랜잭션 ID를 반환합니다. campaignId (readonly)
get campaignId(): string
캠페인 ID를 반환합니다. destinationURL (readonly)
get destinationURL(): string
광고 랜딩 URL을 반환합니다. listener
listener?: AdropListener
광고 이벤트 리스너를 설정합니다.

Methods

load()
load(): void
광고를 로드합니다. show()
show(): void
광고를 표시합니다. destroy()
destroy(): void
광고 인스턴스를 해제합니다. Example:
import { AdropInterstitialAd } from 'adrop-ads-react-native'

const interstitialAd = new AdropInterstitialAd('YOUR_UNIT_ID')

interstitialAd.listener = {
  onAdReceived: (ad) => {
    console.log('Ad loaded')
    ad.show()
  },
  onAdFailedToReceive: (ad, errorCode) => {
    console.log('Ad failed to load', errorCode)
  },
}

interstitialAd.load()

AdropRewardedAd

리워드 광고를 관리하는 클래스입니다.

Constructor

constructor(unitId: string)
Parameters:
  • unitId (string): 광고 유닛 ID

Properties

AdropInterstitialAd와 동일한 속성을 가집니다.

Methods

AdropInterstitialAd와 동일한 메서드를 가집니다. Example:
import { AdropRewardedAd } from 'adrop-ads-react-native'

const rewardedAd = new AdropRewardedAd('YOUR_UNIT_ID')

rewardedAd.listener = {
  onAdReceived: (ad) => {
    console.log('Ad loaded')
    ad.show()
  },
  onAdEarnRewardHandler: (ad, type, amount) => {
    console.log(`Reward earned: type=${type}, amount=${amount}`)
  },
  onAdFailedToReceive: (ad, errorCode) => {
    console.log('Ad failed to load', errorCode)
  },
}

rewardedAd.load()

AdropPopupAd

팝업 광고를 관리하는 클래스입니다.

Constructor

constructor(
  unitId: string,
  colors?: AdropPopupAdColors,
  useCustomClick?: boolean
)
Parameters:
  • unitId (string): 광고 유닛 ID
  • colors (AdropPopupAdColors, optional): 팝업 색상 커스터마이징
  • useCustomClick (boolean, optional): 커스텀 클릭 처리 여부 (기본값: false)

Properties

AdropInterstitialAd와 동일한 속성을 가집니다.

Methods

load()
load(): void
광고를 로드합니다. show()
show(): void
광고를 표시합니다. close()
close(): void
팝업 광고를 닫습니다. destroy()
destroy(): void
광고 인스턴스를 해제합니다.

AdropPopupAdColors

type AdropPopupAdColors = {
  closeTextColor?: string
  hideForTodayTextColor?: string
  backgroundColor?: string
}
Properties:
  • closeTextColor (string, optional): 닫기 버튼 텍스트 색상
  • hideForTodayTextColor (string, optional): ‘오늘 하루 숨기기’ 텍스트 색상
  • backgroundColor (string, optional): 배경 색상
Example:
import { AdropPopupAd } from 'adrop-ads-react-native'

const popupAd = new AdropPopupAd(
  'YOUR_UNIT_ID',
  {
    closeTextColor: '#000000',
    hideForTodayTextColor: '#666666',
    backgroundColor: '#FFFFFF',
  }
)

popupAd.listener = {
  onAdReceived: (ad) => {
    console.log('Popup ad loaded')
    ad.show()
  },
  onAdFailedToReceive: (ad, errorCode) => {
    console.log('Popup ad failed to load', errorCode)
  },
}

popupAd.load()

AdropListener

광고 이벤트를 수신하는 리스너 인터페이스입니다.
type AdropListener = {
  onAdReceived?: (ad: AdropAd) => void
  onAdClicked?: (ad: AdropAd) => void
  onAdImpression?: (ad: AdropAd) => void
  onAdFailedToReceive?: (ad: AdropAd, errorCode?: any) => void
  onAdDidPresentFullScreen?: (ad: AdropAd) => void
  onAdWillPresentFullScreen?: (ad: AdropAd) => void
  onAdDidDismissFullScreen?: (ad: AdropAd) => void
  onAdWillDismissFullScreen?: (ad: AdropAd) => void
  onAdFailedToShowFullScreen?: (ad: AdropAd, errorCode?: any) => void
  onAdEarnRewardHandler?: (ad: AdropAd, type: number, amount: number) => void
}
Events:
  • onAdReceived: 광고 수신 완료
  • onAdClicked: 광고 클릭
  • onAdImpression: 광고 노출
  • onAdFailedToReceive: 광고 수신 실패
  • onAdDidPresentFullScreen: 전면 광고 표시 완료
  • onAdWillPresentFullScreen: 전면 광고 표시 시작
  • onAdDidDismissFullScreen: 전면 광고 닫힘 완료
  • onAdWillDismissFullScreen: 전면 광고 닫힘 시작
  • onAdFailedToShowFullScreen: 전면 광고 표시 실패
  • onAdEarnRewardHandler: 리워드 획득 (리워드 광고 전용)

useAdropInterstitialAd

전면 광고를 React Hook으로 관리합니다.

Signature

function useAdropInterstitialAd(unitId: string | null): AdHookReturns & AdStates
Parameters:
  • unitId (string | null): 광고 유닛 ID
Returns:
  • load: 광고 로드 함수
  • show: 광고 표시 함수
  • reset: 상태 초기화 함수
  • isClicked: 클릭 여부
  • isClosed: 닫힘 여부
  • isEarnRewarded: 리워드 획득 여부
  • isLoaded: 로드 여부
  • isOpened: 열림 여부
  • isReady: 준비 여부
  • errorCode: 에러 코드
  • reward: 리워드 정보
Example:
import { useAdropInterstitialAd } from 'adrop-ads-react-native'

function MyComponent() {
  const { load, show, isLoaded, errorCode } = useAdropInterstitialAd('YOUR_UNIT_ID')

  useEffect(() => {
    load()
  }, [])

  useEffect(() => {
    if (isLoaded) {
      show()
    }
  }, [isLoaded])

  return <View />
}

useAdropRewardedAd

리워드 광고를 React Hook으로 관리합니다.

Signature

function useAdropRewardedAd(unitId: string | null): AdHookReturns & AdStates
Parameters:
  • unitId (string | null): 광고 유닛 ID
Returns: useAdropInterstitialAd와 동일한 반환값을 가집니다. Example:
import { useAdropRewardedAd } from 'adrop-ads-react-native'

function MyComponent() {
  const { load, show, isLoaded, isEarnRewarded, reward } = useAdropRewardedAd('YOUR_UNIT_ID')

  useEffect(() => {
    load()
  }, [])

  useEffect(() => {
    if (isLoaded) {
      show()
    }
  }, [isLoaded])

  useEffect(() => {
    if (isEarnRewarded && reward) {
      console.log(`Reward: type=${reward.type}, amount=${reward.amount}`)
    }
  }, [isEarnRewarded, reward])

  return <View />
}

AdropMetrics

사용자 속성 및 이벤트를 관리하는 클래스입니다.

setProperty

static setProperty(key: string, value: any): void
사용자 속성을 설정합니다. Parameters:
  • key (string): 속성 키
  • value (any): 속성 값
Example:
import { AdropMetrics, AdropProperties, AdropGender } from 'adrop-ads-react-native'

AdropMetrics.setProperty(AdropProperties.AGE, 25)
AdropMetrics.setProperty(AdropProperties.GENDER, AdropGender.MALE)
AdropMetrics.setProperty(AdropProperties.BIRTH, '1998-01-01')

logEvent

static logEvent(name: string, params?: Record<string, any>): void
커스텀 이벤트를 로깅합니다. Parameters:
  • name (string): 이벤트 이름
  • params (object, optional): 이벤트 파라미터
Example:
import { AdropMetrics } from 'adrop-ads-react-native'

AdropMetrics.logEvent('purchase', {
  item_id: 'ITEM_123',
  price: 9.99,
  currency: 'USD',
})

properties

static properties(): Promise<Record<string, any>>
설정된 모든 속성을 가져옵니다. Returns:
  • Promise<Record<string, any>>: 속성 객체
Example:
import { AdropMetrics } from 'adrop-ads-react-native'

const props = await AdropMetrics.properties()
console.log(props)

AdropProperties

사용자 속성 키를 정의하는 enum입니다.
enum AdropProperties {
  AGE = 'AGE',
  BIRTH = 'BIRTH',
  GENDER = 'GDR',
}
Values:
  • AGE: 나이
  • BIRTH: 생년월일
  • GENDER: 성별

AdropGender

성별을 정의하는 enum입니다.
enum AdropGender {
  MALE = 'M',
  FEMALE = 'F',
  OTHER = 'O',
  UNKNOWN = 'U',
}
Values:
  • MALE: 남성
  • FEMALE: 여성
  • OTHER: 기타
  • UNKNOWN: 알 수 없음