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

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

Teklif uyumlatıcınızı uygulamalarına entegre eden yayıncıların mobil uygulama envanteri, alıcı SDK'sı tarafından oluşturulan reklam biçimiyle teklifleri kabul edebilir. Bu öğelerin oluşturulma şekli, SDK uygulamanıza ve teklif yanıtında gönderdiğiniz SDKRenderedAd öğesine bağlıdır.

Alıcı SDK'sı tarafından oluşturulmuş bir reklam veya Google Mobile Ads SDK'sı tarafından desteklenen başka bir reklam biçimini içeren bir teklif verebilirsiniz ancak her ikisini de içeren teklifler filtrelenir.

Şartlar

Alıcı SDK'sı reklamları, onaylanmış alıcılar tarafından kullanılabilir. Bu biçim, sizden ve yayıncıdan ek çaba gerektirir. Hesabınızı alıcı SDK reklamları için yapılandırmak üzere teknik hesap yöneticinizle iletişime geçin. Ardından, SDK'nızın Google Mobile Ads SDK'sı ile iletişim kurmasını sağlayan bir teklifli sistem bağdaştırıcısı uygulayabilirsiniz. Yayıncının, SDK'nızı ve bağdaştırıcınızı mobil uygulamalarına entegre etmesi gerekir.

Reklam öğelerini teklif yanıtına eklemeden önce inceleme için göndermenizi öneririz. Teklif verme sırasında reklam öğesi türünü bilmiyorsanız teknik hesap yöneticinizle iletişime geçin.

Bir teklif isteği bu reklam biçimini destekliyorsa teklif yanıtında sdk_rendered_ad alanını ayarlayarak SDK'nızla oluşturulan bir reklam belirtebilirsiniz.

Teklif isteği

Mobil uygulama envanteri için teklif istekleri, yayıncının uygulamasındaki SDK'lar ve bağdaştırıcılar hakkında aşağıdaki alanlarda oluşturma için kullanabileceğiniz ayrıntıları içerir:

SDK kimliği

Teklif yanıtında BidRequest.app.ext.installed_sdk.id alanıyla birlikte sağlamanız gereken SDK kimliğini bulmak için teklif isteğini kullanabilirsiniz.

Bu konu hakkında daha fazla bilgiyi InstalledSdk referans belgelerinde bulabilirsiniz.

Reklam Birimi Eşleme

Teklif yuvasıyla BidRequest.imp.ext.ad_unit_mapping alanıyla eşleşen reklam birimi eşlemelerini bulmak için teklif isteğini kullanabilirsiniz.

Bu konu hakkında daha fazla bilgiyi AdUnitMapping referans belgelerinde bulabilirsiniz.

Güvenli Sinyaller

Yayıncılar, güvenli sinyalleri teklif verenlerle paylaşabilir. Bu bilgileri BidRequest.imp.ext.buyer_generated_request_data.data'de bulabilirsiniz.

Güvenli sinyallerin BuyerGeneratedRequestData referans dokümanlarında nasıl temsil edildiği hakkında daha fazla bilgi edinebilirsiniz.

Test İstekleri

Teklif isteğinin test olup olmadığını doğrulamak için BidRequest.test alanını kullanabilirsiniz.

Bu alan hakkında daha fazla bilgiyi BidRequest referans belgelerinde bulabilirsiniz.

Ö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:

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

Ayrıca, teklif yanıtınız BidResponse.seatbid.bid.ext.sdk_rendered_ad ile aşağıdakileri doldurmalıdır:

SDK kimliği

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

Kimliği BidRequest.app.ext.installed_sdk adresinde bulabilirsiniz.

Beyan edilen reklam

BidRequest.imp.ext.creative_enforcement_settings'te bulunan koşulları karşılayan ve reklamın oluşturma verilerini temsil eden bir reklam öğesi sağlamak için BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad öğesini kullanın. html_snippet, video_url, video_vast_xml veya native_response özelliklerinden yalnızca biri doldurulmalıdır.

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

Beyan edilen reklam hakkında daha fazla bilgiyi DeclaredAd referans dokümanlarında bulabilirsiniz.

Verileri oluşturma

Reklamınızı oluşturmak için alıcı SDK'sının kullanacağı verileri sağlamak üzere BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data alanını kullanın.

Alıcı SDK'sı reklamı yerleştirmek için teklifler declared_ad alanında bir reklam öğesi belirtmelidir. Beyan edilen reklam, rendering_data'yi doğru şekilde temsil etmelidir.

Örnek bir SdkRenderedAd nesnesi aşağıda 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>",
  }
}

Reklam öğelerini teklif yanıtına dahil etmeden önce inceleme için göndermek üzere Gerçek Zamanlı Teklif Verme API'yi kullanmanızı öneririz.

SdkRenderedAd alanları hakkında daha fazla bilgi için OpenRTB kılavuzuna bakın.

Örnek teklif yanıtı

Her reklam biçimi için örnek teklif yanıtları aşağıda 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, yayınlanmadan önce politikalarımıza ve yayıncı ayarlarımıza uygunluk açısından incelenir.

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

Real-time Bidding API (önerilir)

Reklam öğelerini incelemeye göndermek için Gerçek Zamanlı Teklif Verme API'sinin buyers.creatives.create yöntemini kullanabilirsiniz.

API, reklam öğesi başına yalnızca bir gönderim gerektirir ve reklam öğenizin inceleme durumunu kontrol etmenize olanak tanır.

Teklif yanıtı

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

İnceleme için alıcı SDK reklam öğesi içeren bir teklif yanıtı göndermek üzere SdkRenderedAd nesnesinin declared_ad alanını kullanmanız gerekir.

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. İnceleme başladıktan sonra bir reklam öğesinin durumunu kontrol etmek için Gerçek Zamanlı Teklif Verme arayüzünü veya Gerçek Zamanlı Teklif Verme API'sini kullanabilirsiniz.

Daha fazla bilgi için reklam öğeleri kılavuzuna bakın.