응답 만들기

애플리케이션에서 Google의 입찰 요청을 처리한 후에는 응답을 전송합니다. 이 가이드에서는 애플리케이션을 코딩하여 빌드하는 방법을 설명합니다. 확인할 수 있습니다.

입찰 응답 메시지 만들기

Authorized Buyers는 BidRequest를 HTTP POST입니다. 애플리케이션이 전송하는 응답에는 application/octet-stream로 설정된 Content-Type 헤더 직렬화된 프로토콜 버퍼로 구성된 메시지 본문입니다. 프로토콜 버퍼는 BidResponse 메시지로서 realtime-bidding.proto입니다. 애플리케이션에서 파싱 가능한 BidRequest마다 BidResponse의 응답 제한 시간 파싱할 수 없는 응답은 오류로 간주되며 Google 입찰하지 않습니다

노출에 입찰하지 않으려면 processing_time_ms 필드는 그대로 두고 다른 모든 필드는 그대로 둡니다. 비어 있습니다. 다음에서 realtime-bidding.proto를 얻을 수 있습니다. 참조 데이터 페이지를 참조하세요.

광고 소재 ID

BidResponsebuyer_creative_id 필드 (64바이트 제한). 유사한 광고 소재 서로 다른 경우 buyer_creative_id에 고유한 값이 있어야 합니다. 주요 특성(크기, 선언된 URL, 광고 소재 속성, 공급업체 유형이 있습니다. 다시 말해서, 사용자에게 서로 다른 광고를 2개의 광고에 연결할 수 있습니다.

  • 외모나 행동이 다를 뿐입니다.
  • 다양한 이미지로 렌더링하세요.
  • 여러 가지 방법으로 렌더링합니다. 예를 들어 광고는 이미지, 이미지, 오디오, 다른 한 쪽에는 플래시가 포함되어 있습니다).

애플리케이션을 설계할 때 애플리케이션을 설계할 수 있는 계획하는 광고 소재의 종류에 적합한 식별자 생성 제출할 수 있습니다.

광고 속성

광고의 기능과 관련된 요소를 모두 설명하는 BidResponse.Ad.attribute에서 특성 및 관련 타겟팅을 확인할 수 있습니다. 이 선언해야 하는 속성은 다음과 같습니다 (지원되는 항목의 전체 목록 참조). 속성을 buyer-declarable-creative-attributes.txt):

  • 7 Tagging: IsTagged
    광고에 사용할 픽셀 또는 웹 비콘이 포함된 광고 후속 리마케팅을 위한 쿠키 ID 목록
  • 8 Remarketing: IsRemarketing
    광고는 쿠키 ID 또는 기기 ID를 기반으로 소비자를 타겟팅합니다. 쿠키 ID 또는 기기 ID 목록은 사용자가 방문하는 기존 사이트와 상호작용하지 않은 사용자의 비율
  • 9 UserInterestTargeting: IsUserInterestTargeted
    광고는 쿠키 ID 또는 기기 ID를 기반으로 소비자를 타겟팅합니다. 쿠키 ID 또는 기기 ID 목록이 구매자 소비자 집단을 나타냄 공통 관심분야 그룹으로 정의할 수 있습니다
  • 30 InstreamVastVideoType: Vpaid
    광고를 렌더링하려면 VPAID 지원이 필요합니다.
  • 32 MraidType: MRAID
    광고를 렌더링하려면 MRAID API가 필요합니다.

또한 다음 속성도 지원되지만 선언은 필수는 아닙니다. Authorized Buyers에서 자동으로 이를 감지하고 해당 광고를 차단하거나 허용) 선언이 아닌 감지된 값을 기반으로 광고 소재를 설정합니다. 자세한 내용은 광고 소재 API 의 감지된 속성에 대한 의견을 얻는 방법에 대한 설명을 있습니다.

  • 34 RichMediaCapabilityType: RichMediaCapabilityFlash
    광고를 렌더링하려면 플래시가 지원되어야 합니다.
  • 50 RichMediaCapabilityType: RichMediaCapabilityNonFlash
    광고를 렌더링하기 위해 플래시가 필요하지 않습니다.
  • 47 RichMediaCapabilityType: RichMediaCapabilitySSL
    광고가 SSL 페이지에서 렌더링할 수 있습니다. Authorized Buyers에서는 이 속성에 대해 서로 다른 선언된 값을 가진 것으로 구분 (검토 예정) 별도로 승인 상태를 가질 수 있음). 따라서 SSL과 SSL을 준수하지 않는 버전을 사용하고 있다면 이에 따라 이 속성을 선언해야 합니다. 그래야 이 구분이 AdX에 제대로 반영됩니다.

공개 입찰 필드

공개에 참여하는 거래소 및 네트워크 입찰자가 전송한 입찰 응답 입찰은 표준 입찰 유형에 참여하는 Authorized Buyers와 실시간 입찰입니다. 공개 입찰 고객은 추가 필드 및 일부 기존 필드의 용도가 대체될 수 있습니다. 이러한 다음이 포함됩니다.

OpenRTB Authorized Buyers 세부정보
BidResponse.imp[].pmp.deals[].id BidResponse.ad[].adslot[].exchange_deal_id

이 항목과 연결된 거래소 네임스페이스의 거래 ID입니다. 게시자에게 보고합니다.

BidResponse.seatbid[].bid[].ext.exchange_deal_type BidResponse.ad[].adslot[].exchange_deal_type

게시자에게 보고되는 거래 유형(거래 방식에 영향을 줌) 처리됩니다.

BidResponse.seatbid[].bid[].ext.third_party_buyer_token BidResponse.ad[].adslot[].third_party_buyer_token 다음과 같은 경우 최종 서드 파티 구매자 정보를 식별하는 데 사용되는 토큰 중개자라고 볼 수 있습니다. 이는 제3자 구매자를 식별할 수 있으며, 입찰가에서 변경하지 않은 상태로 Google에 전달해야 합니다. 있습니다.

권장사항

  • 영구적인 HTTPS 연결('연결 유지' 또는 '연결 재사용')을 확인하여 서버 초기화를 실행하시기 바랍니다. 시간 제한을 10초로 설정 최솟값으로, 대부분의 경우 값이 높을수록 유용합니다. Google 인증 애플리케이션의 초기 지연 시간 테스트에서 이를 테스트할 수 있기 때문입니다 Authorized Buyers는 빠른 속도로 요청을 전송하므로 각 네트워크에 대해 별도의 TCP 연결을 설정하는 데 따른 지연 시간 오버헤드 합니다.
  • 노출 렌더링이 렌더링됩니다. 하차 사유로 인해 더 정확한 추적이 가능하므로 있습니다.

  • 입찰자 코드가 지원 중단된 필드에 종속되지 않도록 합니다. 오류가 발생하여 입찰에 실패할 수 있습니다.
  • BidResponse.Ad.widthBidResponseBidResponse.Ad.heightBidResponse를 설정해야 합니다. widthheight 값을 포함하지 않으면 입찰에서 제외되었습니다.
  • 응답 크기를 8K 미만으로 제한하세요. 응답이 너무 크면 증가할 수 있습니다. 시간 초과가 발생할 수 있습니다
  • SKAdNetwork 기여 분석이 필요한 iOS 인벤토리에 대한 입찰가 설정

입찰 응답의 예

다음 예는 사람이 읽을 수 있는 Protobuf 및 JSON 요청

Google

OpenRTB JSON

OpenRTB Protobuf

중요: 샘플은 사람이 읽을 수 있는 텍스트로 표시됩니다. 하지만 메시지가 유선을 통해 전송됩니다 Google 또는 OpenRTB Protobuf를 사용하는 경우 형식인 경우 직렬화된 BidResponse 메시지만 허용됩니다.

다음을 사용하여 BidResponse 메시지를 만들고 직렬화할 수 있습니다. 다음 C++ 코드를 실행합니다.

BidResponse bid_response;
// fill in bid response with bid information
string post_response;
if (bid_response.SerializeToString(&post_response)) {
  // respond to the POST with post_response as the content
} else {
  // return an error to the POST
}

광고 소재 지정

입찰 응답은 낙찰 시 게재할 광고 소재를 지정합니다. 입찰가 지원되는 광고 형식 (AMP, 동영상, 네이티브) 중 하나를 포함해야 합니다. 이 예를 들어 html_snippet 필드를 사용하여 광고 소재를 지정합니다.

또는 다음 중 하나를 사용하여 광고 소재를 지정할 수 있습니다. 광고 형식에 따라 다음 필드가 포함됩니다.

  • SDK 렌더링 광고 <ph type="x-smartling-placeholder">
      </ph>
    • BidResponse.Ad.sdk_rendered_ad
  • AMP <ph type="x-smartling-placeholder">
      </ph>
    • BidResponse.Ad.amp_ad_url
  • 동영상
    • BidResponse.Ad.video_url 또는
    • BidResponse.Ad.video_vast_xml
  • 네이티브 광고 <ph type="x-smartling-placeholder">
      </ph>
    • BidResponse.Ad.native_ad

HTML 스니펫을 사용하여 BidResponsehtml_snippet 필드입니다. 이 웹페이지에 삽입된 iFrame에 스니펫이 포함되어 광고가 페이지가 로드될 때 로드되어 렌더링됩니다. HTML을 직접 만들어야 합니다. 스니펫을 사용하여 광고 (배너 또는 전면 광고)가 광고 슬롯에 맞는 적절한 크기로 광고를 표시할 수 있습니다.

또한 입찰 응답에서 선언된 광고 크기는 크기 조합 중 최대 크기를 사용하는 경우:

  • 광고는 동영상, 네이티브, 전면 광고가 아닌 일반 배너입니다.
  • 입찰자가 입찰 응답에서 크기를 선언했습니다. 크기 선언은 필수사항입니다.
  • 전면 광고는 예외입니다. 전면 광고의 경우 최소 화면 너비의 50%, 높이의 40% 이상이 화면 높이.

html_snippet 필드는 다음과 같은 유효한 HTML 코드를 지원합니다. 올바르게 렌더링되지만, BidResponse 메시지 만들기 섹션의 buyer_creative_id 필드에 있어야 합니다. 1개 URL의 인자에 추가 정보를 넣기 위해 가져올 수 있습니다. 이를 통해 개발자의 자체 서버로 다시 전송합니다.

입찰 응답에서 반환되는 HTML 스니펫에 대한 대부분의 정책은 사용할 수 없습니다. 자세한 내용은 Authorized Buyers 프로그램 가이드라인, 서드 파티 파트너 요구사항 광고 게재, 광고 게재 선언 광고의 클릭연결 URL을 참고하세요.

매크로 지정

광고 소재를 정의하는 HTML 스니펫은 하나 이상의 특수 구성 요소가 포함됩니다. 광고 게재 시 값이 매크로가 포함되어 있습니다. 예를 들어 클라이언트 입찰 애플리케이션은 WINNING_PRICE 매크로를 사용하여 광고에 지불한 금액을 확인합니다. 낙찰될 수 있습니다 이 매크로를 파싱하려면 애플리케이션입니다. 자세한 내용은 가격 해독 중 확인 페이지를 참고하세요.

매크로를 다음 형식으로 HTML 스니펫의 일부로 지정하세요. %%MACRO%%, 여기서 MACRO는 지원되는 언어 중 하나입니다. 매크로를 사용해야 합니다.

Google에서는 CLICK_URL_UNESC 또는 게재되는 타사 광고 소재 내의 CLICK_URL_ESC 매크로 있습니다. Google은 클릭 추적에 CLICK_URL 매크로를 사용합니다.

매크로를 사용하려면 광고에 매크로를 포함하여 알 수 있습니다. 가져오기의 반환 값은 CLICK_URL에 추가하는 URL입니다.

매크로 설명
ADVERTISING_IDENTIFIER 구매자가 노출 렌더링 시 iOS IDFA 또는 Android의 광고 ID를 받을 수 있습니다. 자세한 내용은 광고주 식별자 복호화를 참조하세요. 참조하세요.
CACHEBUSTER 부호 없는 임의의 4바이트 정수의 문자열 표현입니다.
CLICK_URL_UNESC

광고에 대한 이스케이프 처리되지 않은 클릭 URL. 스니펫에서 이스케이프 처리된 버전은 제3자 클릭 URL이 매크로를 바로 따라야 합니다.

예를 들어 제3자 클릭 URL이 http://my.adserver.com/some/path/handleclick?click=clk, 그러고 나서 다음 코드를 세 번째 파티 클릭 URL을 정의합니다.

<a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

광고 게재 시 이는 다음으로 확장됩니다.

<a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

URL은 먼저 클릭을 Google에 등록한 다음 제3자 클릭 URL로 리디렉션됩니다.

CLICK_URL_ESC

광고에 대한 이스케이프 클릭 URL. 대신 다음을 사용합니다. CLICK_URL_UNESC: 먼저 값을 전달해야 하는 경우 다른 서버를 리디렉션합니다.

예를 들어 다음 코드를 HTML 스니펫에 사용할 수 있습니다.

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a>

광고 게재 시 이는 다음으로 확장됩니다.

<a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a>

이렇게 하면 my.adserver.com에 클릭이 등록됩니다. 그러면 은 google_click_url 매개변수 여기에서는 my.adserver.comgoogle_click_url를 이스케이프 취소합니다. 매개변수 값으로 사용됩니다.

뒤이어 이중 이스케이프 URL을 추가할 수 있습니다. %%CLICK_URL_ESC%% 이스케이프 해제가 수행된 후에는 my.adserver.com: 단일 이스케이프 처리된 버전의 URL을 남깁니다. google_click_url에 추가됩니다. 이 google_click_url을(를) 가져온 후 한 번 더 이스케이프를 취소합니다. 리디렉션합니다.

CLICK_URL_ESC_ESC

광고에 대한 이중 이스케이프 URL. 대신 다음을 사용합니다. CLICK_URL_UNESC: 먼저 값을 전달해야 하는 경우 다른 서버를 리디렉션합니다.

예를 들어 다음 코드를 HTML 스니펫에 사용할 수 있습니다.

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a>

광고 게재 시 이는 다음으로 확장됩니다.

<a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a>
SCHEME 입찰 요청에서 SSL을 요구하지 않거나 http: 입찰 요청에서 SSL을 요구하는 경우 https:입니다.
SITE 콘텐츠 URL의 URL 이스케이프 도메인 또는 익명 인벤토리의 익명 ID
SITE_URL 지원 중단되었습니다. 동일한 기능을 제공하는 SITE 매크로로 대체됨.
TZ_OFFSET 시간대 오프셋입니다.
VERIFICATION 인증 과정에서 광고 소재를 스캔하는 시기와 프로덕션에 대한 서로 다른 값 살펴봤습니다 형식은 %%?VERIFICATION:true-val:false-val%%입니다. 여기서 매크로가 true-valfalse-val에 사용될 수 있다는 것을 제외하고는 빈 문자열도 포함됩니다. 공개 입찰의 경우 거래소에서는 이 매크로를 사용하는 것이 좋습니다. 이렇게 하면 수요측 플랫폼에서 변경할 필요가 없습니다.

예를 들어 광고 소재에 %%?VERIFICATION:-1:5000%% 이 경우 텍스트 대체는 게재 시 5000가 되고-1 확인할 수 있습니다 이렇게 하면 이러한 두 핑을 구별하는 데 도움이 됩니다.
WINNING_PRICE 에서 인코딩된 노출 비용 (즉, CPM이 아닌 CPI)은 계정 통화의 마이크로 단위입니다. 예를 들어 낙찰 CPM이 5, 000원인 경우 5,000,000마이크로 CPM 또는 5,000마이크로 CPI에 해당합니다. 디코딩된 이 경우 WINNING_PRICE 값은 5,000입니다. 낙찰가는 CPI에 지정되어 있습니다.
WINNING_PRICE_ESC URL 이스케이프 처리된 WINNING_PRICE

매크로에서 URL 이스케이프 처리에는 다음 스키마를 사용합니다.

  • 공백 문자는 더하기 기호 (+)로 대체됩니다.
  • 영숫자 문자 (0~9, a~z, A~Z)와 !()*,-./:_~ 세트의 문자는 변경되지 않습니다.
  • 다른 모든 문자는 %XX로 대체됩니다. 여기서 XX는 16진수입니다. 문자를 나타내는 숫자입니다.

게시자 제한사항

게시자는 BidRequest를 사용하여 확인할 수 있습니다 다음 필드에 제한사항을 적용해야 합니다.

  • allowed_vendor_type
  • excluded_attribute
  • excluded_sensitive_category

한 필드는 광고의 허용된 기능을 지정하고 다른 필드는 허용되지 않는 기능입니다. 허용되지 않는 기능이 포함된 광고를 반환하지 마세요. 허용됨 기능을 사용하는 경우 해당 업체 유형이 BidRequestallowed_vendor_type 목록 자세한 내용은 BidRequest 프로토콜 버퍼의 이러한 필드에 대한 주석 정의에 대해 자세히 알아보세요.

BidResponse에서 HTML 스니펫이 반환되면 attribute, category, BidResponseclick_through_url 필드 광고에서 이러한 필드에 해당하는 값이 여러 개 있는 경우 모든 값을 포함시켜야 합니다. 이러한 필드에 대한 설명은 BidResponse 프로토콜 버퍼 정의를 참조하세요. 이러한 필드가 설정되지 않은 응답은 삭제됩니다.

BidRequest.excluded_attribute의 가능한 값은 다음과 같습니다. (publisher-excludable-creative-attributes.txt 참조)

  • 7 Tagging: IsTagged
    목록 생성을 목적으로 픽셀 또는 웹 표지를 포함하는 광고는 허용되지 않습니다. 후속 리마케팅을 위한 쿠키 ID
  • 8 CookieTargeting: IsCookieTargeted
    쿠키 ID 목록이 나타내는 위치에서 쿠키 ID를 기반으로 소비자를 타겟팅하는 경우 광고가 허용되지 않습니다. 구매자가 소유하거나 대표하는 사이트와 상호작용한 적이 있는 소비자 집단
  • 9 UserInterestTargeting: IsUserInterestTargeted
    쿠키 ID 목록이 나타내는 위치에서 쿠키 ID를 기반으로 소비자를 타겟팅하는 경우 광고가 허용되지 않습니다. 구매자가 공통의 관심분야 그룹으로 정의한 소비자 집단입니다.
  • 21 CreativeType: Html
    광고에서 html_snippet 또는 snippet_template를 사용할 수 없습니다. BidResponse.Ad의 필드
  • 22 CreativeType: VastVideo
    BidResponse.Advideo_url 필드 사용이 허용되지 않습니다.
  • 30 InstreamVastVideoType: Vpaid
    VPAID 지원이 필요하도록 광고가 허용되지 않습니다.
  • 32 MraidType: MRAID
    MRAID API의 렌더링을 요구하는 광고는 허용되지 않습니다.
  • 34 RichMediaCapabilityType: RichMediaCapabilityFlash
    렌더링에 플래시 지원이 필요하도록 광고는 허용되지 않습니다.
  • 39 RichMediaCapabilityType: RichMediaCapabilityHTML5
    렌더링에 HTML5 기능을 요구하도록 광고가 허용되지 않습니다.
  • 48 RichMediaCapabilityType: RichMediaCapabilityNonSSL
    광고가 SSL을 준수하지 않는 요청을 하도록 허용되지 않습니다.

따라서 excluded_attribute 필드에 값이 포함되어 있으면 7일 경우, 광고에 픽셀 또는 웹 표지를 사용하는 광고를 반환해서는 안 됩니다. 목록을 만듭니다. 광고가 이렇게 하는 경우 BidResponse의 속성 필드입니다. 마찬가지로 excluded_attribute 필드에 값 48이 포함된 경우 SSL 페이지에서 렌더링할 수 있는 광고만 반환하며 속성 47 RichMediaCapabilityType: RichMediaCapabilitySSL 선언).

또한 excluded_sensitive_category 필드도 BidRequest에서 참조 데이터 페이지에서 사용할 수 있는 ad-sensitive-categories.txt 파일. 이것은 다음 코드에 대한 설명입니다.

  • 3 Politics
    정치 문제 또는 논란의 소지가 있는 사회 문제 포함 는 특정 정당의 의견을 대변하지 않는 언론사에 대한 광고는 포함되지 않습니다.
  • 4 Dating
    데이트 서비스 및 온라인 데이트 커뮤니티가 포함됩니다.
  • 5 Religion
    종교 관련 광고와 특정 종교의 교리에 찬성하거나 반대하는 광고가 포함됩니다. 점성술이나 교파가 없는 종교는 포함되지 않습니다.
  • 7 Video Games (Casual & Online)
    비디오 게임, 온라인 게임 및 다운로드 게임 포함 비디오 게임 콘솔은 포함되지 않습니다.
  • 8 Ringtones & Downloadables
    벨소리와 같은 모바일 부가기능, 데스크톱 컴퓨터용 화면 보호기 및 배경화면과 소셜 네트워크용 프로필 레이아웃 및 그래픽과 같은 다운로드 가능한 기능
  • 10 Get Rich Quick
    빠른 수익을 약속하는 계획
  • 18 Weight Loss
    체중 감량, 다이어트, 관련 제품 및 프로그램 포함 건강식 또는 일반 피트니스 광고는 포함되지 않습니다.
  • 19 Cosmetic Procedures & Body Modification
    주름 제거, 지방 흡입, 레이저, 제모 및 모발 이식, 문신, 체형 교정은 포함됩니다.
  • 23 Drugs & Supplements:
    의약품, 비타민, 보조제 및 관련 소매업체 포함 약물에 대한 정보를 제공하는 자료는 포함되지 않습니다.
  • 24 Sexual & Reproductive Health
    성기능 관련 및 불임 치료 광고 포함 일반 임신 자원은 포함하지 않습니다.
  • 35 Social Casino Games
    현금이나 경품 등 가치가 있는 것을 획득할 기회가 없는 시뮬레이션 도박 게임(포커, 슬롯, 빙고, 복권, 스포츠 베팅, 경주 베팅, 기타 카드 게임, 카지노 게임을 포함하되 이에 국한되지 않음)이 포함됩니다.
  • 36 Significant Skin Exposure
    흉골부터 허벅지 가운데까지의 신체 부위에 옷을 걸치지 않은 경우의 광고 이미지 몸이 속옷, 수영복, 속옷, 속이 비치는 의류를 입고 있거나 수건이나 침대 시트와 같이 의류가 아닌 제품을 착용한 경우.
  • 37 Sensationalism
    호기심을 자극하여 클릭을 유도하는 것을 목적으로 하는 광고(종종 과장된 표현이나 이미지가 담긴 티저 메시지를 사용하는 광고) 선정적인 주제 (예: 유명인 체포, 사망 또는 이혼)를 주로 다루거나 충격을 주는 광고가 포함됩니다.

개방형 측정

Open Measurement를 사용하면 독립적인 측정 및 측정 서비스를 제공하는 서드 파티 공급업체를 지정할 수 있습니다. 인증 서비스를 제공합니다.

현재 지원되는 광고 형식에는 동영상, 배너, 전면 광고 등이 있습니다. 자세한 내용은 이러한 형식이 포함된 입찰 응답에서 Open Measurement를 사용하는 방법은 Open Measurement SDK 고객센터를 참조하세요. 도움말을 참조하세요.

샘플 입찰 응답

다음 섹션에는 여러 광고 유형에 대한 샘플 입찰 응답이 나와 있습니다.

앱 배너

Google

OpenRTB JSON

OpenRTB Protobuf

앱 전면 광고

Google

OpenRTB JSON

OpenRTB Protobuf

앱 전면 광고 동영상

Google

OpenRTB Protobuf

앱 네이티브

Google

OpenRTB JSON

OpenRTB Protobuf

웹 동영상

Google

거래소 입찰자용 모바일 웹 배너

OpenRTB Protobuf