Định dạng quảng cáo SDK của người mua

Quảng cáo SDK của người mua sử dụng mẫu quảng cáo do SDK của riêng bạn hiển thị.

Khoảng không quảng cáo trên ứng dụng dành cho thiết bị di động từ những nhà xuất bản tích hợp tính năng đặt giá thầu bộ chuyển đổi vào ứng dụng của họ có thể chấp nhận giá thầu với định dạng quảng cáo được hiển thị trên SDK của người mua. Cách chúng hiển thị dựa trên Hoạt động triển khai SDK và SDKRenderedAd mà bạn gửi trong giá thầu phản hồi.

Bạn có thể đặt giá thầu bao gồm quảng cáo được hiển thị bằng SDK của người mua hoặc bất kỳ quảng cáo nào khác định dạng được SDK Quảng cáo của Google trên thiết bị di động hỗ trợ, nhưng bất kỳ giá thầu chứa cả hai đều được lọc.

Yêu cầu

Quảng cáo SDK của bên mua được cung cấp cho những người mua được phê duyệt. Định dạng này yêu cầu thêm công sức của bạn và nhà xuất bản. Liên hệ với Nhà quản lý tài khoản kỹ thuật của bạn để định cấu hình tài khoản của bạn cho quảng cáo SDK của người mua. Sau đó, bạn có thể triển khai chiến lược Đặt giá thầu bộ chuyển đổi cho phép SDK của bạn giao tiếp với SDK quảng cáo trên thiết bị di động của Google. Nhà xuất bản cần tích hợp SDK và bộ chuyển đổi của bạn vào ứng dụng dành cho thiết bị di động của họ.

Bạn nên gửi mẫu quảng cáo cho bài đánh giá trước khi đưa chúng vào một giá thầu phản hồi. Liên hệ với Nhà quản lý tài khoản hỗ trợ kỹ thuật nếu bạn không biết loại mẫu quảng cáo tại thời điểm đặt giá thầu.

Nếu yêu cầu giá thầu hỗ trợ định dạng quảng cáo này, bạn có thể chỉ định quảng cáo hiển thị với SDK của mình bằng cách đặt trường sdk_rendered_ad trong giá thầu phản hồi.

Yêu cầu giá thầu

Yêu cầu giá thầu cho khoảng không quảng cáo trên ứng dụng dành cho thiết bị di động bao gồm thông tin chi tiết về SDK và bộ chuyển đổi trong ứng dụng của nhà xuất bản mà bạn có thể sử dụng để hiển thị như sau trường:

Mã SDK

Bạn có thể sử dụng yêu cầu giá thầu để tìm id mà bạn phải cung cấp trong giá thầu cho quảng cáo được hiển thị trên SDK của người mua.

Hãy xem các trường sau:

  • OpenRTB: BidRequest.app.ext.installed_sdk
  • Giao thức RTB của Google (không dùng nữa): BidRequest.mobile.installed_sdk

Bạn có thể tìm hiểu thêm về thông báo InstalledSdk trong OpenRTBGoogle hướng dẫn về giao thức.

Liên kết đơn vị quảng cáo

Bạn có thể sử dụng yêu cầu giá thầu để đọc mối liên kết đơn vị quảng cáo khớp với vùng giá thầu.

Hãy xem các trường sau:

  • OpenRTB: BidRequest.imp.ext.ad_unit_mapping
  • Giao thức RTB của Google (không dùng nữa): BidRequest.AdSlot.ad_unit_mapping

Bạn có thể tìm hiểu thêm về đối tượng AdUnitMapping trong OpenRTBGoogle hướng dẫn về giao thức.

Tín hiệu an toàn

Nhà xuất bản có thể chia sẻ tín hiệu an toàn với bên đặt giá thầu. Bạn có thể đọc thông báo từ Đối tượng BuyerGeneratedRequestData của OpenRTB hoặc của đối tượng Google không dùng nữa Đối tượng SecureSignal của giao thức RTB.

Hãy xem các trường sau:

  • OpenRTB: BidRequest.imp.ext.buyer_generated_request_data.data
  • Giao thức RTB của Google (không dùng nữa): BidRequest.AdSlot.SecureSignal.data

Bạn có thể tìm hiểu thêm về cách tín hiệu an toàn được biểu thị trong OpenRTBGoogle hướng dẫn về giao thức.

Yêu cầu kiểm thử

Bạn có thể đọc trường Yêu cầu thử nghiệm để biết liệu yêu cầu giá thầu có phải là thử nghiệm.

Hãy xem các trường sau:

  • OpenRTB: BidRequest.test
  • Giao thức RTB của Google (không dùng nữa): BidRequest.is_test

Bạn có thể tìm hiểu thêm về trường Test trong OpenRTBGoogle hướng dẫn về giao thức.

Yêu cầu giá thầu mẫu

id: "<bid_request_id>"
imp {
  id: "1"
  banner {
    w: 320
    h: 50
    ...
  }
...
  adx_ext {
   ...
    ad_unit_mapping {
      keyvals {
        key: "key_1"
        value: "value_1"
      }
      keyvals {
        key: "key_2"
        value: "value_2"
      }
      ...
      format: FORMAT_BANNER
    }
  }
}
app {
 ...
  adx_ext {
    installed_sdk {
      id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
      sdk_version {
        major: 1
        minor: 2
        micro: 30
      }
      adapter_version {
        major: 1
        minor: 2
        micro: 3000
      }
    }
    installed_sdk {
    ...
    }
    ...
  }
}
device {
  ...
}
user {
  ...
  }
  adx_ext {
    eids {
      source: "com.google.ads.mediation.partner.PartnerMediationAdapter"
      uids {
        id: "<partner_signal_string>"
      }
    }
  }
}
at: 1
tmax: 1000
cur: "USD"
test: 1
...
adx_ext {
  google_query_id: "<query_string>"
  ...
}

Giá thầu phản hồi

Sau đây là các trường bắt buộc trong giá thầu phản hồi:

  • OpenRTB:
    • BidResponse.seatbid.bid.adomain
    • BidResponse.seatbid.bid.ext.billing_id
    • BidResponse.seatbid.bid.crid
    • BidResponse.seatbid.bid.w
    • BidResponse.seatbid.bid.h
  • Giao thức RTB của Google (không dùng nữa):
    • BidResponse.Ad.click_through_url
    • BidResponse.Ad.AdSlot.billing_id
    • BidResponse.Ad.buyer_creative_id
    • BidResponse.Ad.width
    • BidResponse.Ad.height

Ngoài ra, giá thầu phản hồi của bạn phải bao gồm SdkRenderedAd với thuộc tính sau:

Mã SDK

Sử dụng trường id để cung cấp mã nhận dạng cho SDK hiển thị quảng cáo.

Bạn có thể tìm thấy mã này trong yêu cầu giá thầu bằng các trường sau:

  • OpenRTB: BidRequest.app.ext.installed_sdk
  • Giao thức RTB của Google (không dùng nữa): BidRequest.mobile.installed_sdk

Bạn có thể tìm hiểu thêm về thông báo InstalledSdk trong OpenRTBGoogle hướng dẫn về giao thức.

Quảng cáo đã khai báo

Sử dụng trường declared_ad để cung cấp mẫu quảng cáo đáp ứng CreativeEnforcementSettings và đại diện cho dữ liệu kết xuất hình ảnh. Chỉ một trong số html_snippet, video_url, video_vast_xml hoặc Bạn phải điền native_response.

Nếu bạn không điền sẵn dữ liệu vào declared_ad, chúng tôi sẽ không thể xem xét mẫu quảng cáo và tất cả giá thầu có mẫu quảng cáo đều bị lọc khỏi phiên đấu giá.

Kết xuất dữ liệu

Sử dụng trường rendering_data để cung cấp dữ liệu cho SDK người mua sử dụng để hiển thị quảng cáo của bạn.

  • OpenRTB: BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
  • Giao thức RTB của Google (không dùng nữa): BidResponse.ad.sdk_rendered_ad.rendering_data

Giá thầu để đặt quảng cáo SDK của người mua phải chỉ định một mẫu quảng cáo trong declared_ad . Quảng cáo được khai báo phải thể hiện chính xác rendering_data.

Dưới đây là đối tượng SdkRenderedAd mẫu:

{
  "id": "1234567",
  "rendering_data": "\xd58...,\xd4\x89\xd\xf9",
  "declared_ad": {
    "html_snippet": "<iframe src=\"https://example.com/ads?id=123&
      curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>",
  }
}

Bạn nên sử dụng API Đặt giá thầu theo thời gian thực để gửi mẫu quảng cáo cho bài đánh giá trước khi đưa chúng vào giá thầu phản hồi.

Xem Google và Hướng dẫn về giao thức OpenRTB để biết thêm thông tin về các trường SdkRenderedAd.

Phản hồi giá thầu mẫu

Dưới đây là các phản hồi giá thầu mẫu cho từng định dạng quảng cáo:

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 99
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 320
    h: 50
    burl: "https://abc.com/billing?td=fn&win_price=${AUCTION_PRICE}"
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          html_snippet: "<!doctype html> <html> ... </html>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
      billing_id: 141763360450
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

Quảng cáo xen kẽ

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 412
    h: 775
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          video_vast_xml: "<VAST version=\"2.0\"><Ad>...</Ad></VAST>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

Video có tặng thưởng

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 412
    h: 775
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          video_vast_xml: "<VAST version=\"2.0\"><Ad>...</Ad></VAST>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

Mã gốc

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 1200
    h: 627
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          native_response {
            ...
            assets {
              id: 1
              title {
                text: ""
              }
            }
            assets {
              id: 2
              data {
                value: "<some_string>"
              }
            }
            assets {
              id: 3
              data {
                value: "View now"
              }
            }
            assets {
              id: 4
              img {
                url: "<valid_image_url>"
                w: 1200
                h: 627
                type: 3
              }
            }
            assets {
              id: 5
              img {
                url: "<valid_image_url>"
                w: 100
                h: 100
                type: 1
              }
            }
            assets {
              id: 6
              data {
                value: ""
              }
            }
            assets {
              id: 7
              data {
                value: "<some_string>"
              }
            }
            link {
              url: "<destination_link>"
            }
          }
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

Đánh giá mẫu quảng cáo

Quảng cáo được xem xét trước khi có thể phân phát để đảm bảo chúng đáp ứng chính sách và nhà xuất bản phần cài đặt.

Dưới đây là hai cách bạn có thể gửi quảng cáo để xem xét:

API Đặt giá thầu theo thời gian thực (được đề xuất)

Bạn có thể sử dụng buyers.creatives.create của Real-time Bidding API để gửi mẫu quảng cáo để xem xét.

API này chỉ yêu cầu gửi một lần cho mỗi quảng cáo và cho phép bạn kiểm tra trạng thái xem xét quảng cáo của bạn.

Giá thầu phản hồi

Bạn có thể gửi mẫu quảng cáo mới trực tiếp trong phần phản hồi giá thầu.

Bạn phải sử dụng trường declared_ad của đối tượng SdkRenderedAd để gửi giá thầu phản hồi với mẫu quảng cáo SDK của người mua để xem xét.

Những mẫu quảng cáo được gửi trong giá thầu phản hồi chỉ được xem xét sau nhiều giá thầu. Tất cả giá thầu được đặt trước khi quá trình xem xét hoàn tất đều được lọc khỏi phiên đấu giá. Bạn có thể dùng giao diện Đặt giá thầu theo thời gian thực hoặc Đặt giá thầu theo thời gian thực API để kiểm tra trạng thái của mẫu quảng cáo sau khi quá trình xem xét bắt đầu.

Xem hướng dẫn về mẫu quảng cáo để chi tiết hơn.