Iklan yang dirender SDK

Iklan SDK pembeli menggunakan materi iklan yang dirender oleh SDK Anda sendiri.

Inventaris aplikasi seluler dari penayang yang mengintegrasikan bidding adaptor Anda ke dalam aplikasi mereka dapat menerima bid dengan format iklan yang dirender SDK pembeli. Cara perenderannya didasarkan pada implementasi SDK Anda dan SDKRenderedAd yang Anda kirimkan dalam respons bid.

Anda dapat mengajukan bid yang menyertakan iklan yang dirender SDK pembeli atau format iklan lain yang didukung oleh Google Mobile Ads SDK, tetapi bid yang berisi keduanya akan difilter.

Persyaratan

Iklan SDK pembeli tersedia untuk pembeli yang disetujui. Format ini memerlukan upaya ekstra dari Anda dan penayang. Hubungi Manajer Akun Teknis Anda untuk mengonfigurasi akun Anda untuk iklan SDK pembeli. Kemudian, Anda dapat menerapkan adaptor Bidding yang memungkinkan SDK Anda untuk berkomunikasi dengan Google Mobile Ads SDK. Penayang harus mengintegrasikan SDK dan adaptor Anda ke dalam aplikasi seluler mereka.

Sebaiknya kirimkan materi iklan untuk ditinjau sebelum menyertakannya dalam respons bid. Hubungi Manajer Akun Teknis Anda jika Anda tidak mengetahui jenis materi iklan pada saat bid.

Jika permintaan bid mendukung format iklan ini, Anda dapat menentukan iklan yang dirender dengan SDK Anda dengan menetapkan kolom sdk_rendered_ad dalam respons bid.

Permintaan bid

Permintaan bid untuk inventaris aplikasi seluler mencakup detail tentang SDK dan adaptor di aplikasi penayang yang dapat Anda gunakan untuk rendering di kolom berikut:

ID SDK

Anda dapat menggunakan permintaan bid untuk menemukan ID SDK yang harus Anda berikan dalam respons bid dengan kolom BidRequest.app.ext.installed_sdk.id.

Anda dapat mempelajari lebih lanjut hal ini di InstalledSdk dokumentasi referensi.

Pemetaan Unit Iklan

Anda dapat menggunakan permintaan bid untuk menemukan pemetaan unit iklan yang cocok dengan slot bid dengan kolom BidRequest.imp.ext.ad_unit_mapping.

Anda dapat mempelajari lebih lanjut hal ini di AdUnitMapping dokumentasi referensi.

Sinyal Aman

Penayang dapat membagikan sinyal aman kepada bidder. Anda dapat menemukannya di BidRequest.imp.ext.buyer_generated_request_data.data.

Anda dapat mempelajari lebih lanjut cara sinyal aman direpresentasikan di BuyerGeneratedRequestData dokumentasi referensi.

Permintaan Pengujian

Anda dapat menggunakan kolom BidRequest.test untuk memverifikasi apakah permintaan bid adalah pengujian.

Anda dapat mempelajari lebih lanjut kolom ini di BidRequest dokumentasi referensi.

Contoh permintaan bid

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

Respons bid

Kolom berikut wajib diisi dalam respons bid:

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

Selain itu, respons bid Anda harus mengisi BidResponse.seatbid.bid.ext.sdk_rendered_ad dengan hal berikut:

ID SDK

Gunakan kolom id untuk memberikan ID bagi SDK untuk merender iklan.

Anda dapat menemukan ID di BidRequest.app.ext.installed_sdk.

Iklan yang dideklarasikan

Gunakan BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad untuk memberikan materi iklan yang memenuhi persyaratan yang ditemukan di BidRequest.imp.ext.creative_enforcement_settings dan mewakili data rendering iklan. Hanya salah satu dari html_snippet, video_url, video_vast_xml, atau native_response yang harus diisi.

Jika Anda tidak mengisi declared_ad, kami tidak dapat meninjau materi iklan dan semua bid dengan materi iklan tersebut akan difilter dari lelang.

Anda dapat mempelajari lebih lanjut iklan yang dideklarasikan di DeclaredAd dokumentasi referensi.

Data rendering

Gunakan kolom BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data untuk memberikan data bagi SDK pembeli yang akan digunakan untuk merender iklan Anda.

Bid untuk menempatkan iklan SDK pembeli harus menentukan materi iklan di kolom declared_ad. Iklan yang dideklarasikan harus secara akurat mewakili rendering_data.

Berikut contoh objek SdkRenderedAd:

{
  "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>",
  }
}

Sebaiknya gunakan Real-time Bidding API untuk mengirimkan materi iklan agar ditinjau sebelum Anda menyertakannya dalam respons bid.

Lihat panduan OpenRTB untuk mengetahui detail selengkapnya tentang kolom SdkRenderedAd.

Contoh respons bid

Berikut contoh respons bid untuk setiap format iklan:

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"

Interstisial

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 reward

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"

Native

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"

Peninjauan materi iklan

Materi iklan ditinjau sebelum dapat ditayangkan untuk memastikan materi iklan tersebut memenuhi kebijakan dan setelan penayang kami.

Berikut dua cara untuk mengirimkan materi iklan agar ditinjau:

Real-time Bidding API (direkomendasikan)

Anda dapat menggunakan buyers.creatives.create metode Real-time Bidding API untuk mengirimkan materi iklan agar ditinjau.

API ini hanya memerlukan satu pengiriman per materi iklan dan memungkinkan Anda memeriksa status peninjauan materi iklan.

Respons bid

Anda dapat mengirimkan materi iklan baru langsung dalam respons bid.

Anda harus menggunakan kolom declared_ad dari objek SdkRenderedAd untuk mengirimkan respons bid dengan materi iklan SDK pembeli agar ditinjau.

Materi iklan yang dikirimkan dalam respons bid hanya ditinjau setelah banyak bid. Semua bid yang ditempatkan sebelum peninjauan selesai akan difilter dari lelang. Anda dapat menggunakan antarmuka bidding real-time atau Real-time Bidding API untuk memeriksa status materi iklan setelah peninjauan dimulai.

Lihat panduan materi iklan untuk mengetahui detail selengkapnya.

Integrasi Google Mobile Ads SDK lainnya

Authorized Buyers memiliki beberapa opsi untuk berintegrasi langsung dengan Google Mobile Ads SDK, termasuk mediasi, adaptor bidder, dan Sinyal Aman. Untuk mengetahui informasi selengkapnya tentang titik integrasi ini, atau untuk membahas integrasi sinyal atau pemrosesan di perangkat lainnya dengan Google Mobile Ads SDK guna meningkatkan Relevansi Iklan atau pengukuran, hubungi Technical Account Manager Anda.