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

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

Teklifli sistem adaptörünüzü uygulamalarına entegre eden yayıncılardan gelen mobil uygulama envanteri, alıcı SDK'sı tarafından oluşturulan reklam biçimiyle teklifleri kabul edebilir. Bu öğelerin nasıl oluşturulacağı, SDK uygulamanıza ve teklif yanıtında gönderdiğiniz SDKRenderedAd'ye bağlıdır.

Alıcı SDK'sı tarafından oluşturulan bir reklam veya Google Mobile Ads SDK tarafından desteklenen başka bir reklam biçimi 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 ekstra çaba gerektirir. Hesabınızı alıcı SDK'sı 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 teklif verme 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 bir teklif yanıtına eklemeden önce incelenmek üzere göndermenizi öneririz. Teklif zamanı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ılarla ilgili ayrıntıları içerir. Bu ayrıntıları aşağıdaki alanlarda oluşturma için kullanabilirsiniz:

SDK kimliği

Teklif isteğini kullanarak, BidRequest.app.ext.installed_sdk.id alanı ile teklif yanıtında sağlamanız gereken SDK kimliğini bulabilirsiniz.

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

Reklam Birimi Eşleme

Teklif isteğini kullanarak teklif yuvasıyla eşleşen reklam birimi eşlemelerini BidRequest.imp.ext.ad_unit_mapping alanı ile bulabilirsiniz.

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

Güvenli Sinyaller

Yayıncılar, güvenli sinyalleri teklif verenlerle paylaşabilir. Bunları BidRequest.imp.ext.buyer_generated_request_data.data bölümünde bulabilirsiniz.

Güvenli sinyallerin BuyerGeneratedRequestData referans dokümanlarında nasıl gösterildiğ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 aşağıdaki bilgilerle doldurulmalıdır: BidResponse.seatbid.bid.ext.sdk_rendered_ad

SDK kimliği

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

Kimliği BidRequest.app.ext.installed_sdk bölümünde bulabilirsiniz.

Bildirilen reklam

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

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

Bildirilen reklam hakkında daha fazla bilgiyi DeclaredAd referans belgelerinde bulabilirsiniz.

Verileri oluşturma

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

Alıcı SDK reklamı yerleştirmek için verilen tekliflerde declared_ad alanında bir reklam öğesi belirtilmelidir. Beyan edilen reklam, rendering_data öğesini 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>",
  }
}

Reklam öğelerini bir teklif yanıtına dahil etmeden önce incelenmek üzere göndermek için Gerçek Zamanlı Teklif API'sini 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ına uygunluk açısından incelenir.

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

Real-time Bidding API (önerilir)

buyers.creatives.create Gerçek Zamanlı Teklif Verme API'sinin yöntemini kullanarak reklam öğelerini incelemeye gönderebilirsiniz.

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'sı 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 arayüzünü veya Gerçek Zamanlı Teklif API'sini kullanabilirsiniz.

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