Alıcı SDK'sı reklam biçimi

Alıcı SDK'sı reklamları, kendi SDK'nız tarafından oluşturulan reklam öğelerini kullanır.

Teklifli sisteminizi entegre eden yayıncıların mobil uygulama envanteri bağdaştırıcısı kullanarak teklifleri kabul edebilir alıcı SDK'sı tarafından oluşturulan reklam biçimiyle. Nasıl oluşturulduklarına bağlı olarak SDK uygulaması veSDKRenderedAd teklif yanıtı verilebilir.

Alıcı SDK'sı tarafından oluşturulmuş reklam veya başka bir reklamı dahil ederek biçimi Google Mobile Ads SDK'sı tarafından desteklenir ancak her ikisini de içeren teklifler filtrelenir.

Şartlar

Alıcı SDK'sı reklamları, onaylanan alıcılar tarafından kullanılabilir. Bu biçim için ekstra gerekiyor çaba sarf etmeniz gerekir. Teknik hesap yöneticinizle iletişime geçerek alıcı SDK reklamları için hesabınızı yapılandırın. Ardından, kullanıcılara özel teklif verme bağdaştırıcısı olarak ayarlayın. Google Mobile Ads SDK'sı ile iletişim kurma. Yayıncının Google Ads'e kendi mobil uygulamalarına aktarmanızı sağlar.

Web sitemiz g.co/newsinitiative/labs üzerinden yorum bilmeniz gerekir. Teknik Hesap Yöneticinizle iletişime geçin teklif zamanındaki reklam öğesi türünü bilmiyorsanız.

Bir teklif isteği bu reklam biçimini destekliyorsa, oluşturulan reklamı belirtebilirsiniz. SDK'nızla birlikte teklifteki sdk_rendered_ad alanını ayarlayın tıklayın.

Teklif isteği

Mobil uygulama envanteri için teklif istekleri, SDK'lar ve oluşturmak için kullanabileceğiniz bağdaştırıcıların uygulamasında alanlar:

SDK kimliği

Teklifte sağlamanız gereken id değerini bulmak için teklif isteğini kullanabilirsiniz alıcı SDK'sı tarafından oluşturulmuş reklam için yanıt.

Aşağıdaki alanları inceleyin:

  • OpenRTB: BidRequest.app.ext.installed_sdk
  • Google GZT protokolü (desteği sonlandırılmış): BidRequest.mobile.installed_sdk

InstalledSdk mesajı hakkında daha fazla bilgiyi şurada bulabilirsiniz: OpenRTB ve Google protokol kılavuzlarında da mevcuttur.

Reklam Birimi Eşleme

Teklif isteğini, teklif alanıyla eşleşen reklam birimi eşlemelerini okumak için kullanabilirsiniz.

Aşağıdaki alanları inceleyin:

  • OpenRTB: BidRequest.imp.ext.ad_unit_mapping
  • Google GZT protokolü (desteği sonlandırılmış): BidRequest.AdSlot.ad_unit_mapping

AdUnitMapping nesnesi hakkında daha fazla bilgiyi şurada bulabilirsiniz: OpenRTB ve Google protokol kılavuzlarında da mevcuttur.

Güvenli Sinyaller

Yayıncılar güvenli sinyalleri teklif verenlerle paylaşabilir. Bu e-postaları şuradan okuyabilirsiniz: OpenRTB'nin BuyerGeneratedRequestData nesnesinden veya kullanımdan kaldırılan Google'dan GZT protokolünün SecureSignal nesnesi.

Aşağıdaki alanları inceleyin:

  • OpenRTB: BidRequest.imp.ext.buyer_generated_request_data.data
  • Google GZT protokolü (desteği sonlandırılmış): BidRequest.AdSlot.SecureSignal.data

Güvenli sinyallerin nasıl temsil edildiği hakkında daha fazla bilgi edinmek için OpenRTB ve Google protokol kılavuzlarında da mevcuttur.

Test İstekleri

Teklif isteğinin testi.

Aşağıdaki alanları inceleyin:

  • OpenRTB: BidRequest.test
  • Google GZT protokolü (desteği sonlandırılmış): BidRequest.is_test

Test alanı hakkında daha fazla bilgiyi şurada bulabilirsiniz: OpenRTB ve Google protokol kılavuzlarında da mevcuttur.

Örnek teklif isteği

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

Teklif yanıtı

Teklif yanıtında aşağıdaki alanlar zorunludur:

  • OpenRTB:
    • BidResponse.seatbid.bid.adomain
    • BidResponse.seatbid.bid.ext.billing_id
    • BidResponse.seatbid.bid.crid
    • BidResponse.seatbid.bid.w
    • BidResponse.seatbid.bid.h
  • Google GZT protokolü (desteği sonlandırılmış):
    • BidResponse.Ad.click_through_url
    • BidResponse.Ad.AdSlot.billing_id
    • BidResponse.Ad.buyer_creative_id
    • BidResponse.Ad.width
    • BidResponse.Ad.height

Ayrıca, teklif yanıtınızSdkRenderedAd takip etmek için:

SDK kimliği

Reklamı oluşturmak üzere SDK'nın kimliğini sağlamak için id alanını kullanın.

Kimliği, teklif isteğinde aşağıdaki alanları kullanarak bulabilirsiniz:

  • OpenRTB: BidRequest.app.ext.installed_sdk
  • Google GZT protokolü (desteği sonlandırılmış): BidRequest.mobile.installed_sdk

InstalledSdk mesajı hakkında daha fazla bilgiyi şurada bulabilirsiniz: OpenRTB ve Google protokol kılavuzlarında da mevcuttur.

Beyan edilen reklam

Teklif isteğinindeclared_ad CreativeEnforcementSettings gereksinimleri ve reklamın verileri oluşturuyoruz. Yalnızca bir html_snippet, video_url, video_vast_xml veya native_response doldurulmalıdır.

declared_ad öğesini doldurmazsanız reklam öğesini inceleyemeyiz ve Reklam öğesini içeren tüm teklifler açık artırmadan filtrelenir.

Oluşturma verileri

Alıcı SDK'sının verilerini sağlamak için rendering_data alanını kullanın. kullanabilirsiniz.

  • OpenRTB: BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
  • Google GZT protokolü (desteği sonlandırılmış): BidResponse.ad.sdk_rendered_ad.rendering_data

Alıcı SDK reklamı yerleştirme teklifleri, declared_ad içinde bir reklam öğesi belirtmelidir girin. Beyan edilen reklam rendering_data şartlarını doğru şekilde temsil etmelidir.

Aşağıda örnek bir SdkRenderedAd nesnesi verilmiştir:

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

Gerçek Zamanlı Teklif Verme API'sini kullanarak yorum bilmeniz gerekir.

Bkz. Google ve OpenRTB protokol kılavuzları SdkRenderedAd alanlarıyla ilgili daha fazla bilgi edinin.

Örnek teklif yanıtı

Aşağıda, her bir reklam biçimi için örnek teklif yanıtları verilmiştir:

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"

Geçiş reklamı

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"

Ödüllü video

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"

Yerel biçim

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"

Reklam öğesi incelemesi

Reklam öğeleri, şu gereksinimleri karşıladığından emin olmak için yayınlanmadan önce incelenir: politikaları ve yayıncı Ayarlar'da devre dışı bırakabilirsiniz.

Reklam öğelerini incelemeye göndermenin iki yolu vardır:

Gerçek Zamanlı Teklif Verme API'si (önerilir)

URL parametrelerinin Google tarafından nasıl ele alınmasını istediğinizi belirtmek için buyers.creatives.create gerçek zamanlı teklif verme API'sinin yöntemini reklam öğelerini incelemeye gönderin.

API her reklam öğesi için yalnızca bir gönderim gerektirir ve durumu hakkında daha fazla bilgi edinin.

Teklif yanıtı

Yeni reklam öğelerini doğrudan teklif yanıtında gönderebilirsiniz.

Göndermek için SdkRenderedAd nesnesinin declared_ad alanını kullanmanız gerekir alıcı SDK'sı reklam öğesi içeren bir teklif yanıtı ekleyin.

Teklif yanıtında gönderilen reklam öğeleri yalnızca çok sayıda tekliften sonra incelenir. İnceleme tamamlanmadan önce verilen tüm teklifler açık artırmadan filtrelenir. Gerçek Zamanlı Teklif Verme arayüzünü kullanabilirsiniz veya Gerçek Zamanlı Teklif Verme API tıklayın.

Aşağıdakiler için reklam öğeleri kılavuzuna bakın inceleyebilirsiniz.