Đị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 bộ chuyển đổi đặt giá thầu 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 do SDK của người mua hiển thị. Cách các đối tượng này hiển thị dựa trên cách bạn triển khai SDK và SDKRenderedAd mà bạn gửi trong phản hồi giá thầu.

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

Yêu cầu

Quảng cáo SDK của người mua có sẵn cho người mua được phê duyệt. Định dạng này đòi hỏi bạn và nhà xuất bản phải nỗ lực thêm. Liên hệ với Nhà quản lý tài khoản hỗ trợ kỹ thuật để đị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 Bộ chuyển đổi đặt giá thầu để 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 di động của họ.

Bạn nên gửi mẫu quảng cáo để xem xét trước khi đưa mẫu quảng cáo đó vào giá thầu phản hồi. Hãy liên hệ với Người 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, thì bạn có thể chỉ định một quảng cáo hiển thị cùng với SDK bằng cách đặt trường sdk_rendered_ad trong phản hồi giá thầu.

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ể dùng để hiển thị trong các trường sau:

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 phản hồi giá thầu cho quảng cáo hiển thị qua SDK của người mua.

Xem các trường sau đây:

  • Authorized Buyers: BidRequest.mobile.installed_sdk
  • OpenRTB: BidRequest.app.ext.installed_sdk

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

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 các mối liên kết đơn vị quảng cáo khớp với vùng giá thầu.

Xem các trường sau đây:

  • Authorized Buyers: BidRequest.AdSlot.ad_unit_mapping
  • OpenRTB: BidRequest.imp.ext.ad_unit_mapping

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

Tín hiệu an toàn

Bạn nên đọc đối tượng Mã mở rộng. Đây là tiện ích chuẩn dùng để truyền tín hiệu an toàn do nhà xuất bản chọn.

Xem các trường sau đây:

  • Authorized Buyers: BidRequest.AdSlot.SecureSignal.data
  • OpenRTB: BidRequest.user.ext.eids.uids.id

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

Yêu cầu kiểm tra

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à một thử nghiệm hay không.

Xem các trường sau đây:

  • Authorized Buyers: BidRequest.is_test
  • OpenRTB: BidRequest.test

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

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>"
  ...
}

Phản hồi giá thầu

Giá thầu chỗ ngồi

Các trường sau là bắt buộc trong đối tượng BidResponse.seatbid.bid:

  • Authorized Buyers:

    • BidResponse.Ad.click_through_url
    • BidResponse.Ad.AdSlot.billing_id
    • BidResponse.Ad.buyer_creative_id
    • BidResponse.Ad.width
    • BidResponse.Ad.height
  • OpenRTB:

    • BidResponse.seatbid.bid.adomain
    • BidResponse.seatbid.bid.cid
    • BidResponse.seatbid.bid.crid
    • BidResponse.seatbid.bid.w
    • BidResponse.seatbid.bid.h

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

Phản hồi giá thầu của bạn phải bao gồm SdkRenderedAd với:

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ã nhận dạng trong yêu cầu giá thầu ở các trường sau:

  • Authorized Buyers: BidRequest.mobile.installed_sdk
  • OpenRTB: BidRequest.app.ext.installed_sdk

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

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 các yêu cầu CreativeEnforcementSettings của yêu cầu giá thầu và đại diện cho dữ liệu hiển thị của quảng cáo. Đối với các định dạng quảng cáo không phải là định dạng gốc, chỉ nên hiển thị một trong số html_snippet, video_url hoặc video_vast_xml. Đối với định dạng quảng cáo gốc, bạn chỉ nên hiển thị native_response.

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

Hiển thị dữ liệu

Sử dụng trường rendering_data nhằm 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.

  • Authorized Buyers: BidResponse.ad.sdk_rendered_ad.rendering_data
  • OpenRTB: BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data

Giá thầu để đặt quảng cáo SDK của người mua phải chỉ định mẫu quảng cáo trong trường 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 để xem xét trước khi đưa vào giá thầu phản hồi.

Hãy xem hướng dẫn về giao thức GoogleOpenRTB để biết thêm thông tin chi tiết 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

Google xem xét mẫu quảng cáo trước khi phân phát để đảm bảo tuân thủ các chính sách và chế độ cài đặt của nhà xuất bản.

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

API Đặt giá thầu theo thời gian thực (nên dùng)

Bạn có thể sử dụng phương thức buyers.creatives.create của API Đặt giá thầu theo thời gian thực để gửi mẫu quảng cáo cho chúng tôi xem xét.

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

Phản hồi giá thầu

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

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

Chúng tôi chỉ xem xét mẫu quảng cáo được gửi trong phản hồi giá thầu sau nhiều lần đặt giá thầu. Tất cả giá thầu được đặt trước khi xem xét hoàn tất đều được lọc khỏi phiên đấu giá. Bạn có thể sử dụng giao diện Đặt giá thầu theo thời gian thực hoặc API Đặt giá thầu theo thời gian thực để 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.

Hãy xem hướng dẫn về mẫu quảng cáo để biết thêm thông tin chi tiết.