비디오 광고
비디오 광고 연동을 위한 Open RTB 규약입니다.
1. REQUEST
CJ 메조미디어 SSP 는 HTTP POST 방식으로 아래 정의된 객체를 JSON 형태로 작성해 DSP 인터페이스를 호출합니다. 요청 객체 정의는 OPEN RTB 2.5 규격을 따릅니다.
Request object
id
string
Y
요청 유니크 아이디
cur
string array
N
ISO-4217-alpha 경매에 사용할 수 있는 통화 입니다. 예: “KRW”
test
integer
N
경매가 테스트 모드(1)건 실시간 모드(0)건, 테스트 경매에는 입찰할 수 없습니다
at
integer
Y
0 : fixed price, 1: first price, 2: second price
tmax
integer
Y
최대허용시간 (ms).
bcat
string array
N
IAB 카테고리 기준으로 광고주 카테고리를 차단합니다.
badv
string array
N
광고주의 도메인을 차단합니다.
bapp
string array
N
App의 번들이나 패키지명을 차단합니다.
Imp
id
string
Y
노출에 대한 유니크 아이디
bidfloor
float
Y
입찰로 인정받을 수 있는 최소 가격. 예) 4.12
bidfloorcur
string
Y
통화, 예) ‘KRW’
secure
integer
Y
0 : http, 1 : https
instl
integer
Y
전면광고 여부를 전달합니다. (default: 0) * 1 = the ad is interstitial or full screen * 0 = not interstitial.
displaymanager
string
Y
SSP 플랫폼명 또는 SDK명을 의미합니다.
displaymanagerver
string
Y
SSP 플랫폼 또는 SDK 버전을 의미합니다.
Video
Imp
/ video
mimes
string array
Y
MIME 타입. 예) “video/mp4”
w
integer
Y
비디오의 가로 크기
h
integer
Y
비디오의 세로 크기
minduration
integer
Y
비디오가 재생되어야 하는 최소 시간(초)
maxduration
integer
Y
비디오가 재생될 수 있는 최대 시간(초)
protocols
integer array
Y
VAST 버전. “3” 을 전달합니다.
startdelay
integer
Y
프리롤, 미드롤, 포스트롤 광고 구분값을 전달합니다. * 0 = 프리롤 * -1 = 일반 미드롤 * -2 = 일반 포스트롤
linearity
integer
Y
1: in stream, 2: out stream
delivery
integer array
Y
2 (Progressive) 로 전달합니다.
placement
integer
Y
비디오 게재 위치 * 1 = 플레이어 내 * 2 = 배너 내 * 3 = 기사 내 * 4 = 피드 내 * 5 = 전면/슬라이드/플로팅
ext
object
N
표준 항목 외에 필요한 정보를 전달합니다.(ex, rewarded)
Video / ext
Imp
/ video / ext
rewarded
integer
N
Reward 광고 여부를 전달합니다. * 0 = no(non-reward) * 1 = yes(reward)
App
id
string
Y
퍼블리셔 ID
name
string
N
애플리케이션 이름
bundle
string
Y
번들 이름, 패키지 이름
storeurl
string
N
앱스토어 URL
cat
string array
N
카테고리
Publisher
App
/ publisher
id
string
Y
퍼블리셔 ID
name
string
N
퍼블리셔 명
cat
string array
N
카테고리
Device
ua
string
Y
디바이스의 User Agent 정보
dnt
integer
N
위치 추적 금지 활성화 여부. 0: 추적 가능, 1: 추적 금지.
ip
string
Y
IPV4 주소
model
string
N
모델명
os
string
Y
운영체제. 예) iOS, Anroid
osv
string
Y
운영체제 버전. 예) 8.1, 9.2
js
integer
N
RTB 프로토콜에 1로 정의되어 있습니다.
ifa
string
Y
Apple IFA 또는 Google 의 ADID
User
id
string
Y
사용자의 고유 ID
Ext
Price_type
integer
N
0: CPM, 2: CPC
요청 예제 (APP)
{
"id": "eb713f5a-3773-4ae7-9a33-884164172255$1277830896$KKHSVVWN",
"test": 1,
"cur": [
"USD"
],
"source": {
"ext": {
"schain": {
"ver": "1.0",
"nodes": [
{
"asi": "mman.kr",
"sid": "31998",
"rid": "eb713f5a-3773-4ae7-9a33-884164172255$1277830896$KKHSVVWN",
"hp": 1
}
],
"complete": 1
}
}
},
"regs": {
"ext": {
"us_privacy": "1---"
}
},
"tmax": 500,
"at": 2,
"imp": [
{
"tagid": "805010_com.test.mezzo",
"secure": 0,
"clickbrowser": 1,
"displaymanager": "ManSDK",
"displaymanagerver": "200",
"instl": 0,
"video": {
"mimes": [
"video/mp4"
],
"w": 1920,
"h": 1080,
"placement": 1,
"skip": 1,
"playbackmethod": [
2
],
"protocols": [
2,
3
],
"delivery": [
2
],
"ext": {
"rewarded": 0
},
"minduration": 7,
"maxduration": 60,
"startdelay": 1,
"linearity": 1
},
"bidfloorcur": "USD",
"bidfloor": 0.008411677387431964,
"id": "166330732500"
}
],
"app": {
"publisher": {
"id": "31998",
"name": "31998_%EC%9D%B4%EA%B2%83%EC%9D%B4 %ED%85%8C%EC%8A%A4%ED%8A%B8",
"product_attr": 4
},
"id": "805010_com.test.mezzo",
"name": "805010_%EC%9D%B4%EA%B2%83%EC%9D%B4 %ED%85%8C%EC%8A%A4%ED%8A%B8",
"bundle": "com.test.mezzo",
"storeurl": "https://play.google.com/store/apps/details?id=com.mz.mezzomediaapp",
"cat": [
"IAB9"
]
},
"user": {
"id": "2d634ecd-c577-48bd-a76c-10ca1ad1abe1"
},
"device": {
"geo": {
"country": "KOR"
},
"adid": "2d634ecd-c577-48bd-a76c-10ca1ad1abe1",
"ifa": "2d634ecd-c577-48bd-a76c-10ca1ad1abe1",
"dnt": 0,
"ua": "Mozilla/5.0 (Linux; Android 9; SM-G955N Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/105.0.5195.79 Mobile Safari/537.36",
"ip": "58.231.40.30",
"make": "samsung",
"os": "Android",
"osv": "9",
"model": "SM-G955N",
"language": "ko",
"js": 1,
"devicetype": 1,
"ext": {
"gain": "2d634ecd-c577-48bd-a76c-10ca1ad1abe1"
}
},
"ext": {
"limit_duration": 30,
"price_type": 0
}
}
요청 예제 (WEB)
{
"id": "b051cef2-cc87-4c31-9288-c1c8faec3c58$1277830694$KKHSVVWN",
"test": 1,
"cur": [
"USD"
],
"source": {
"ext": {
"schain": {
"ver": "1.0",
"nodes": [
{
"asi": "mman.kr",
"sid": "31998",
"rid": "b051cef2-cc87-4c31-9288-c1c8faec3c58$1277830694$KKHSVVWN",
"hp": 1
}
],
"complete": 1
}
}
},
"regs": {
"ext": {
"us_privacy": "1---"
}
},
"tmax": 500,
"at": 2,
"imp": [
{
"tagid": "805010_com.test.mezzo",
"secure": 0,
"instl": 0,
"video": {
"mimes": [
"video/mp4"
],
"w": 1080,
"h": 1920,
"placement": 1,
"skip": 1,
"playbackmethod": [
2
],
"protocols": [
2,
3
],
"delivery": [
2
],
"ext": {
"rewarded": 0
},
"minduration": 7,
"maxduration": 60,
"startdelay": 1,
"linearity": 1
},
"bidfloorcur": "USD",
"bidfloor": 0.008411677387431964,
"id": "166330750000"
}
],
"site": {
"publisher": {
"id": "31998",
"name": "31998_com.test.mezzo",
"domain": "com.test.mezzo",
"product_attr": 4
},
"id": "805010_com.test.mezzo",
"name": "805010_com.test.mezzo",
"domain": "com.test.mezzo",
"page": "http://mtagdev.mman.kr:9300/V2/video_step2.html",
"ref": "http://mtagdev.mman.kr:9300/",
"mobile": 1,
"cat": [
"IAB9"
]
},
"user": {
"id": "2ca990ef-7e72-4fc1-91bc-24cb11dc2b8d"
},
"device": {
"geo": {
"country": "KOR"
},
"adid": "2ca990ef-7e72-4fc1-91bc-24cb11dc2b8d",
"ifa": "",
"dnt": 0,
"ua": "Mozilla/5.0 (Linux; Android 10; SM-G981B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36",
"ip": "203.248.117.195",
"make": "",
"os": "Android",
"osv": "",
"model": "",
"language": "ko",
"js": 1,
"devicetype": 1
},
"ext": {
"limit_duration": 30,
"price_type": 0
}
}
2. RESPONSE
DSP 는 아래 정의된 객체를 HTTP body 에 포함해 응답합니다. 객체 정의는 OPEN RTB 2.5 규격을 따릅니다.
Bid Response
id
string
Y
Bid Request 의 ID
bidid
string
Y
Bid 오브젝트의 ID
cur
string array
Y
입찰시 사용할 통화. 예) KRW
Bid
id
string
Y
입찰 정보를 관리하는 ID
price
float
Y
입찰 가격
nurl
string
N
낙찰 알림 url (win URL) 낙찰가를 {AUCTION_PRICE} 매크로에 치환하여 전달합니다.
burl
string
N
낙찰 청구 알림 url (Billing notice URL) 낙찰가를 {AUCTION_PRICE} 매크로에 치환하여 전달합니다.
lurl
string
N
유찰 알림 url (Loss notice URL) {AUCTION_LOSS} 매크로에 유찰 사유 코드를 치환하여 전달합니다.
adomain
string array
Y
광고주 도메인
cid
string
Y
광고주 캠페인명 / id
crid
string
Y
광고주 광고물명 / id
cat
string array
Y
카테고리
ADM
XML 로 정의되는 객체입니다. 객체 정의는 VAST 3.0 규격을 따릅니다.
VAST
adm
/ VAST
version
integer (속성)
Y
VAST 규약 버전. 3.0 인 경우, 3으로 작성합니다.
Ad
adm
/ Ad
Inline
AdTitle
integer
N
광고 이름
Error
element
N
Player 에러 발생시 호출할 트래킹 URL
Impression
element
Y
동영상 시작시 호출할 트래킹 URL
AdSystem
version
integer (속성)
N
광고 엔진 버전
Extensions
requestID
string
N
광고 요청 고유 코드
Creative
Linear
Duration
string
N
영상 길이 / 재생 시간. hh:mm:ss 형태로 지정합니다.
Tracking
ADM
/Ad
/Inline
/ Creatives /Creative
/Linear
/ TrackingEvents / Tracking
event
string (속성)
Y
이벤트 이름을 지정합니다. 예) start, firstQuartile, midpoint
offset
element array
N
이벤트 발생 조건이 되는 재생 시간을 지정합니다. hh:mm:ss 형태로 지정.
start
동영상이 시작된 경우 호출하는 트래킹 URL
firstQuartile
동영상이 25% 재생된 경우 호출하는 트래킹 URL
midpoint
동영상이 50% 재생된 경우 호출하는 트래킹 URL
thirdQuartile
동영상이 75% 재생된 경우 호출하는 트래킹 URL
complete
동영상 재생이 완료된 경우 호출하는 트래킹 URL
progress
동영상이 지정된 offset 속성만큼 재생된 경우 호출하는 트래킹 URL
VideoClicks
ADM
/Ad
/Inline
/ Creatives /Creative
/Linear
/ VideoClicks
ClickThrough
string
Y
광고 랜딩 페이지 URL
ClickTracking
string
N
광고 클릭 이벤트 트래킹 URL
offset
string
N
지정된 시간까지 재생된 이후에 광고 클릭이 가능합니다.
MediaFile
ADM
/Ad
/Inline
/ Creatives /Creative
/Linear
/ MediaFiles / MediaFile
delivery
string (속성)
N
동영상 소재 재생 방식. progressive 를 지원합니다.
type
string (속성)
N
동영상 소재 타입. 예) video/mp4
width
integer (속성)
N
동영상 소재의 폭
height
integer (속성)
N
동영상 소재의 높이
bitrate
integer (속성)
N
동영상 소재의 비트레이트
Bid response 예제
{
"id": "req-12345-abcde",
"bidid": "5508",
"cur": "KRW",
"seatbid": [
{
"bid": [
{
"id": "147704390800",
"price": "60",
"adm": "%3CVAST+version%3D%223.0%22%3E%0D%0A%3CAd+id%3D%2250096%22+sequence%3D%221%22%3E%0D%0A%3CInLine%3E%0D%0A%3CAdSystem+version%3D%222%22%3EMAN%3C%2FAdSystem%3E%0D%0A%3CAdTitle%3E%0D%0A%3C%21%5BCDATA%5B+20160217_%ED%99%88%ED%94%8C%EB%9F%AC%EC%8A%A4_%ED%99%88%ED%94%8C%EB%9F%AC%EC%8A%A4_%EB%8F%99%EC%98%81%EC%83%81_%ED%85%8C%EC%8A%A4%ED%8A%B8+%5D%5D%3E%0D%0A%3C%2FAdTitle%3E%0D%0A%3CExtensions%3E%0D%0A%3CrequestID%3E%0D%0A%3C%21%5BCDATA%5B+-+%5D%5D%3E%0D%0A%3C%2FrequestID%3E%0D%0A%3C%2FExtensions%3E%0D%0A%3CError%3E%0D%0A%3C%21%5BCDATA%5B%0D%0Ahttp%3A%2F%2Fmtag.mman.kr%2Fad_tracking.mezzo%2F%3Fd_err%3D%5BERRORCODE%5D%5D%0D%0A%5D%5D%3E%0D%0A%3C%2FError%3E%0D%0A%3CImpression+id%3D%22man_server%22%3E%0D%0A%3C%21%5BCDATA%5B%0D%0Ahttp%3A%2F%2Fmtag.mman.kr%2Fad_tracking.mezzo%2F%3Fe_request_type%3Dimps_tracking%0D%0A%5D%5D%3E%0D%0A%3C%2FImpression%3E%0D%0A%3CCreatives%3E%0D%0A%3CCreative+id%3D%2225549%22+sequence%3D%221%22%3E%0D%0A%3CLinear%3E%0D%0A%3CDuration%3E00%3A00%3A30%3C%2FDuration%3E%0D%0A%3CTrackingEvents%3E%0D%0A%3CTracking+event%3D%22start%22%3E%0D%0A%3C%21%5BCDATA%5B%0D%0Ahttp%3A%2F%2Fmtag.mman.kr%2Fad_tracking.mezzo%2F%3Fe_request_type%3Dtrack_vast_q1%26e_version%3D2%0D%0A%5D%5D%3E%0D%0A%3C%2FTracking%3E%0D%0A%3CTracking+event%3D%22firstQuartile%22%3E%0D%0A%3C%21%5BCDATA%5B%0D%0Ahttp%3A%2F%2Fmtag.mman.kr%2Fad_tracking.mezzo%2F%3Fe_request_type%3Dtrack_vast_q2%26e_version%3D2%0D%0A%5D%5D%3E%0D%0A%3C%2FTracking%3E%0D%0A%3CTracking+event%3D%22midpoint%22%3E%0D%0A%3C%21%5BCDATA%5B%0D%0Ahttp%3A%2F%2Fmtag.mman.kr%2Fad_tracking.mezzo%2F%3Fe_request_type%3Dtrack_vast_q3%26e_version%3D2%0D%0A%5D%5D%3E%0D%0A%3C%2FTracking%3E%0D%0A%3CTracking+event%3D%22thirdQuartile%22%3E%0D%0A%3C%21%5BCDATA%5B%0D%0Ahttp%3A%2F%2Fmtag.mman.kr%2Fad_tracking.mezzo%2F%3Fe_request_type%3Dtrack_vast_q4%26e_version%3D2%5D%5D%3E%0D%0A%3C%2FTracking%3E%0D%0A%3CTracking+event%3D%22complete%22%3E%0D%0A%3C%21%5BCDATA%5B%0D%0Ahttp%3A%2F%2Fmtag.mman.kr%2Fad_tracking.mezzo%2F%3Fe_request_type%3Dtrack_vast_q5%26e_version%3D2%0D%0A%5D%5D%3E%0D%0A%3C%2FTracking%3E%0D%0A%3CTracking+event%3D%22progress%22+offset%3D%2200%3A00%3A05%22%3E%0D%0A%3C%21%5BCDATA%5B%0D%0Ahttp%3A%2F%2Fmtag.mman.kr%2Fad_tracking.mezzo%2F%3Fe_request_type%3Dimps_video_tracking%26e_version%3D2%0D%0A%5D%5D%3E%0D%0A%3C%2FTracking%3E%0D%0A%3CTracking+event%3D%22progress%22+offset%3D%2200%3A00%3A15%22%3E%0D%0A%3C%21%5BCDATA%5B%0D%0Ahttp%3A%2F%2Fmtag.mman.kr%2Fad_tracking.mezzo%2F%3Fe_request_type%3Dtrack_vast_view%26e_version%3D2%0D%0A%5D%5D%3E%0D%0A%3C%2FTracking%3E%0D%0A%3C%2FTrackingEvents%3E%0D%0A%3CVideoClicks%3E%0D%0A%3CClickThrough%3E%0D%0A%3C%21%5BCDATA%5B%0D%0Ahttp%3A%2F%2Fmtag.mman.kr%2Fad_tracking.mezzo%2F%3Fe_request_type%3Dclick%26e_version%3D2%0D%0A%5D%5D%3E%0D%0A%3C%2FClickThrough%3E%0D%0A%3CClickTracking%3E%3C%2FClickTracking%3E%0D%0A%3COffset%3E00%3A00%3A05%3C%2FOffset%3E%0D%0A%3C%2FVideoClicks%3E%0D%0A%3CMediaFiles%3E%0D%0A%3CMediaFile+delivery%3D%22progressive%22+type%3D%22video%2Fmp4%22+width%3D%22480%22+height%3D%22270%22+bitrate%3D%22350%22%3E%0D%0A%3C%21%5BCDATA%5B%0D%0Ahttp%3A%2F%2Fmtag.mman.kr%2Fvod.mezzo%2F%3Fe_version%3D2%26e_request_type%3Dvod%26i_video_name%3D20161014150027%26d_r%3D1%26i_rs_t%3D3%26d_p1%3D1%0D%0A%5D%5D%3E%0D%0A%3C%2FMediaFile%3E%0D%0A%3C%2FMediaFiles%3E%0D%0A%3C%2FLinear%3E%0D%0A%3C%2FCreative%3E%0D%0A%3C%2FCreatives%3E%0D%0A%3C%2FInLine%3E%0D%0A%3C%2FAd%3E%0D%0A%3C%2FVAST%3E",
"nurl": "win url",
"adomain": "http: //adver.co.kr",
"cid": "2234",
"crid": "2234",
"cat": [
"IAB1"
]
}
]
}
]
}
adm 예제
<?xml version="1.0" encoding="UTF-8"?>
<VAST version="3.0">
<Ad id="50096" sequence="1">
<InLine>
<AdSystem version="2">MAN</AdSystem>
<AdTitle><![CDATA[ 20160217_홈플러스_홈플러스_동영상_테스트 ]]></AdTitle>
<Extensions>
<requestID><![CDATA[ - ]]></requestID>
</Extensions>
<Error><![CDATA[http://mtag.mman.kr/ad_tracking.mezzo/?d_err=[ERRORCODE]]]]></Error>
<Impression id="man_server"><![CDATA[http://mtag.mman.kr/ad_tracking.mezzo/?e_request_type=imps_tracking]]></Impression>
<Creatives>
<Creative id="25549" sequence="1">
<Linear>
<Duration>00:00:30</Duration>
<TrackingEvents>
<Tracking event="start"><![CDATA[http://mtag.mman.kr/ad_tracking.mezzo/?e_request_type=track_vast_q1&e_version=2]]></Tracking>
<Tracking event="firstQuartile"><![CDATA[http://mtag.mman.kr/ad_tracking.mezzo/?e_request_type=track_vast_q2&e_version=2]]></Tracking>
<Tracking event="midpoint"><![CDATA[http://mtag.mman.kr/ad_tracking.mezzo/?e_request_type=track_vast_q3&e_version=2]]></Tracking>
<Tracking event="thirdQuartile"><![CDATA[http://mtag.mman.kr/ad_tracking.mezzo/?e_request_type=track_vast_q4&e_version=2]]></Tracking>
<Tracking event="complete"><![CDATA[http://mtag.mman.kr/ad_tracking.mezzo/?e_request_type=track_vast_q5&e_version=2]]></Tracking>
<Tracking event="progress" offset="00:00:05"><![CDATA[http://mtag.mman.kr/ad_tracking.mezzo/?e_request_type=imps_video_tracking&e_version=2]]></Tracking>
<Tracking event="progress" offset="00:00:15"><![CDATA[http://mtag.mman.kr/ad_tracking.mezzo/?e_request_type=track_vast_view&e_version=2]]></Tracking>
</TrackingEvents>
<VideoClicks>
<ClickThrough><![CDATA[http://mtag.mman.kr/ad_tracking.mezzo/?e_request_type=click&e_version=2]]></ClickThrough>
<ClickTracking></ClickTracking>
<Offset>00:00:05</Offset>
</VideoClicks>
<MediaFiles>
<MediaFile delivery="progressive" type="video/mp4" width="480" height="270" bitrate="350"><![CDATA[http://mtag.mman.kr/vod.mezzo/?e_version=2&e_request_type=vod&i_video_name=20161014150027&d_r=1&i_rs_t=3&d_p1=1]]></MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>
SKAdNetwork 지원(iOS14 이상)
해당 내용은 iOS14 버전 혹은 그 이상의 환경에서 SKAdNetwork가 활성화된 캠페인을 지원하기 위한 내용입니다.
1
DSP는 Apple의 SKAdNetwork API에 Ad Network로 등록되어 있어야 한다. (https://developer.apple.com/documentation/storekit/skadnetwork/registering_an_ad_network)
2
Apple로부터 Public key를 발급받고 Postback URL을 설정해야 한다.
3
Apple로부터 발급받은 SKAdNetwork ID를 CJ MezzoMedia 담당자에게 전달하고 CJ MezzoMedia는 전달받은 SKAdNetwork ID를 자사와 제휴된 퍼블리셔의 info.plist에 등록 요청한다.
4
DSP에서 SKAdNetwork가 활성화된 캠페인 Response를 전달할 때는 SKAdNetwork ID 및 관련된 모든 정보를 포함해야한다.
5
광고주 App은 registerAppForAdNetworkAttribution()를 통해 SKAdNetwork 사용자로 등록해야 한다.
6
DSP는 SKAdNetwork를 통해 설치 데이터를 제공 받을 수 있다.
광고요청 추가내용 (SKAdNetwork)
BidRequest / imp / banner / ext / skadn
1
DSP에서 제공하는 SKAdNetwork ID가 퍼블리셔의 info.plist에 등록되어 있어야 한다.
2
사용자 기기의 운영체제가 iOS14 혹은 그 이상이어야 한다.
3
SKAdNetwork를 지원하는 버전의 SDK를 설치해야한다.
4
DSP는 CJ 메조미디어의 Bid Request 규약을 준수해야한다.
version
string
Y
사용하는 SKadNetwork 버전. “2.0” 혹은 그 이상.
“version”:”2.0”
sourceapp
string
Y
Apple App 스토어에 등록된 퍼블리셔 App ID. ‘BidRequest.app.bundle’ 과 매칭
“sourceapp”:”000000000”
skadnetids
string
Y
퍼블리셔 App 내 info.plist에 입력된 SKAdNetwork IDs
“skadnetids”:[“feyaarzu9v.skadnetwork”]
SKAdNetwork 광고 요청 예제
{
"imp":[{
"ext": {
"skadn": {
"version": "2.0",
"sourceapp": "000000000",
"skadnetids": ["feyaarzu9v.skadnetwork", "8sRFag4vVC.skadnetwork"]
}
}
}]
}
광고응답 추가내용 (SKAdNetwork)
BidResponse / imp / banner / ext / skadn
version
string
Y
사용하는 SKadNetwork 버전. “2.0” 혹은 그 이상.
“version”:”2.0”
network
string
Y
광고 네트워크 식별자. Request에 포함된 skadnetids와 최소 한 개는 매칭되어야 함
“network”:[“feyaarzu9v.skadnetwork”]
campaign
string
Y
Apple의 규격에 맞는 캠페인 ID. 1과 100 사이의 정수를 이용해서 표현해야함
“campaign”:”45”
itunesitem
string
Y
Apple App 스토어에 등록된 광고주 App ID. ‘Bidresponse.bid.bundle’과 매칭
“itunesitem”:”123456789”
nonce
string
Y
개별 광고 response의 유니크 ID
“nonce”:”123b1a78-b5ef-98ad-1234-ab-c4effa00b8”
sourceapp
string
Y
Apple App 스토어에 등록된 퍼블리셔 App ID. ‘BidRequest.imp.ext.skad.sourceapp’ 과 매칭
“sourceapp”:”000000000”
timestamp
string
Y
Unix time을 string 값으로 전달
“timestamp”:”1234567890”
signature
string
Y
Apple에서 제공하는 SKAdNetwork sigature 값
“signature”:”ABCDEFGHijkl-lmb…”
SKAdNetwork 광고 응답 예제
{
"seatbid": [{
"bid": [{
"ext": {
"skadn": {
"version": "2.0",
"network": "feyaarzu9v.skadnetwork ",
"campaign": "45",
"itunesitem": "123456789",
"nonce": "123b1a78-b5ef-98ad-1234-ab-c4effa00b8",
"sourceapp": "000000000",
"timestamp": "1234567890",
"signature": "ABCDEFGHijkl-lmbKBSE8QnhLTIHZZZWCFgZpRqRxHss65KoFAiAJgJKjdrWdkLUOCCjuEx2RmFS7daRzSVZRVZ8RyMyUXg"
}
}
}]
}]
}
Last updated