Đị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 di động của những nhà xuất bản tích hợp bộ chuyển đổi đặt giá thầu của bạn vào ứng dụng của họ có thể chấp nhận giá thầu có định dạng quảng cáo do SDK của người mua hiển thị. Cách hiển thị dựa trên việc triển khai SDK của bạn 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 do SDK của người mua hiển thị hoặc bất kỳ định dạng quảng cáo nà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 chứa cả hai đều bị lọc.

Yêu cầu

Quảng cáo SDK của người mua dành cho những người mua được phê duyệt. Bạn có thể tích hợp trực tiếp Authorized Buyers với SDK Quảng cáo của Google trên thiết bị di động, bao gồm cả tính năng dàn xếp, bộ chuyển đổi bên đặt giá thầu, và tín hiệu an toàn. 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ọ.

Để biết thêm thông tin về các điểm tích hợp này hoặc để thảo luận về các tích hợp khác về tín hiệu hoặc quy trình xử lý trên thiết bị với SDK Quảng cáo của Google trên thiết bị di động nhằm cải thiện mức độ liên quan của quảng cáo hoặc khả năng đo lường, hãy liên hệ với Nhà quản lý tài khoản hỗ trợ kỹ thuật của bạn.

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.

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 một quảng cáo hiển thị bằng SDK của mình 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 di động bao gồm thông tin chi tiết về các 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ị trong các trường sau:

Mã SDK

Bạn có thể sử dụng yêu cầu giá thầu để tìm mã SDK mà bạn phải cung cấp trong giá thầu phản hồi bằng trường BidRequest.app.ext.installed_sdk.id.

Bạn có thể tìm hiểu thêm về nội dung này trong tài liệu tham khảo InstalledSdk.

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

Bạn có thể sử dụng yêu cầu giá thầu để tìm các mối liên kết đơn vị quảng cáo khớp với vị trí đặt giá thầu bằng trường BidRequest.imp.ext.ad_unit_mapping.

Bạn có thể tìm hiểu thêm về nội dung này trong tài liệu tham khảo AdUnitMapping.

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ể tìm thấy các tín hiệu này trong BidRequest.imp.ext.buyer_generated_request_data.data.

Bạn có thể tìm hiểu thêm về cách biểu thị tín hiệu an toàn trong tài liệu tham khảo BuyerGeneratedRequestData.

Yêu cầu thử nghiệm

Bạn có thể sử dụng trường BidRequest.test để xác minh xem yêu cầu giá thầu có phải là yêu cầu thử nghiệm hay không.

Bạn có thể tìm hiểu thêm về trường này trong tài liệu tham khảo BidRequest.

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

Bạn phải điền các trường sau đây trong giá thầu phản hồi:

  • BidResponse.seatbid.bid.adomain
  • BidResponse.seatbid.bid.ext.billing_id
  • BidResponse.seatbid.bid.crid
  • BidResponse.seatbid.bid.w
  • BidResponse.seatbid.bid.h

Ngoài ra, giá thầu phản hồi của bạn phải điền BidResponse.seatbid.bid.ext.sdk_rendered_ad bằng những thông tin sau:

Mã SDK

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

Bạn có thể tìm thấy mã này trong BidRequest.app.ext.installed_sdk.

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

Sử dụng BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad để cung cấp một mẫu quảng cáo đáp ứng các yêu cầu có trong BidRequest.imp.ext.creative_enforcement_settings và đại diện cho dữ liệu hiển thị của quảng cáo. Bạn chỉ nên điền một trong các trường html_snippet, video_url, video_vast_xml hoặc native_response.

Nếu bạn không điền 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 đó sẽ bị lọc khỏi phiên đấu giá.

Bạn có thể tìm hiểu thêm về quảng cáo đã khai báo trong tài liệu tham khảo DeclaredAd.

Hiển thị dữ liệu

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

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 trường declared_ad. Quảng cáo đã khai báo phải trình bày chính xác rendering_data.

Dưới đây là một đố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 mẫu quảng cáo đó vào giá thầu phản hồi.

Hãy xem hướng dẫn OpenRTB để 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

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

Bạn có thể gửi mẫu quảng cáo để xem xét theo 2 cách sau:

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

Bạn có thể sử dụng buyers.creatives.create phương thức của API đặt giá thầu theo thời gian thực để 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 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.

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 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 giá thầu phản hồi có mẫu quảng cáo SDK của người mua để xem xét.

Các 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 bị 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 Real-time Bidding 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.

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