Anzeigenformat für Käufer-SDK

Für SDK-Anzeigen für Käufer werden Creatives verwendet, die von Ihrem eigenen SDK gerendert werden.

Inventar in mobilen Apps von Publishern, die Ihren Gebotsadapter in ihre App einbinden, kann Gebote mit dem vom Käufer SDK gerenderten Anzeigenformat akzeptieren. Wie sie gerendert werden, hängt von Ihrer SDK-Implementierung und dem SDKRenderedAd ab, den Sie in der Gebotsantwort einreichen.

Sie können ein Gebot abgeben, das entweder eine vom Käufer SDK gerenderte Anzeige oder ein anderes Anzeigenformat enthält, das vom Google Mobile Ads SDK unterstützt wird. Gebote, die beides enthalten, werden herausgefiltert.

Voraussetzungen

Käufer-SDK-Anzeigen sind für genehmigte Käufer verfügbar. Dieses Format erfordert zusätzlichen Aufwand von Ihnen und dem Publisher. Wenden Sie sich an Ihren Technical Account Manager, um Ihr Konto für SDK-Anzeigen des Käufers zu konfigurieren. Anschließend können Sie einen Gebotsadapter implementieren, der die Kommunikation zwischen Ihrem SDK und dem Google Mobile Ads SDK ermöglicht. Der Publisher muss Ihr SDK und Ihren Adapter in seine mobilen Apps einbinden.

Wir empfehlen Ihnen, Creatives zur Überprüfung einzureichen, bevor Sie sie in eine Gebotsantwort aufnehmen. Wenden Sie sich an Ihren Technical Account Manager, wenn Sie den Creative-Typ zum Zeitpunkt der Gebotsabgabe nicht kennen.

Wenn eine Gebotsanfrage dieses Anzeigenformat unterstützt, können Sie eine Anzeige angeben, die mit Ihrem SDK gerendert wird. Dazu legen Sie in der Gebotsantwort das Feld sdk_rendered_ad fest.

Gebotsanfrage

Gebotsanfragen für Inventar in mobilen Apps enthalten Details zu den SDKs und Adaptern in der App des Publishers, die Sie für das Rendering in den folgenden Feldern verwenden können:

SDK-ID

Mithilfe der Gebotsanfrage können Sie das id ermitteln, das Sie in der Gebotsantwort für eine mit dem SDK des Käufers gerenderte Anzeige angeben müssen.

Sehen Sie sich die folgenden Felder an:

  • Authorized Buyers: BidRequest.mobile.installed_sdk
  • OpenRTB: BidRequest.app.ext.installed_sdk

Weitere Informationen zur Meldung InstalledSdk finden Sie in den Leitfäden für das Google-Protokoll und das OpenRTB.

Anzeigenblockzuordnung

Mit der Gebotsanfrage können Sie Anzeigenblockzuordnungen lesen, die mit der Anzeigenfläche übereinstimmen.

Sehen Sie sich die folgenden Felder an:

  • Authorized Buyers: BidRequest.AdSlot.ad_unit_mapping
  • OpenRTB: BidRequest.imp.ext.ad_unit_mapping

Weitere Informationen zum AdUnitMapping-Objekt finden Sie in den Anleitungen zum Google- und OpenRTB-Protokoll.

Sichere Signale

Du solltest das Objekt der erweiterten ID lesen. Das ist die Standarderweiterung, die zum Übergeben sicherer Signale verwendet wird, die vom Publisher ausgewählt wurden.

Sehen Sie sich die folgenden Felder an:

  • Authorized Buyers: BidRequest.AdSlot.SecureSignal.data
  • OpenRTB: BidRequest.user.ext.eids.uids.id

Weitere Informationen zum Extended Id-Objekt finden Sie in den Anleitungen zum Google- und OpenRTB-Protokoll.

Testanfragen

Anhand des Felds „Testanfrage“ können Sie erkennen, ob es sich bei der Gebotsanfrage um eine Testanfrage handelt.

Sehen Sie sich die folgenden Felder an:

  • Authorized Buyers: BidRequest.is_test
  • OpenRTB: BidRequest.test

Weitere Informationen zum Feld Test finden Sie in den Anleitungen zum Google- und OpenRTB-Protokoll.

Beispiel für eine Gebotsanfrage

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

Gebotsantwort

Gebot für Nutzerlizenzen

Die folgenden Felder sind im Objekt BidResponse.seatbid.bid erforderlich:

  • Authorized Buyers:

    • BidResponse.Ad.click_through_url
    • BidResponse.Ad.AdSlot.billing_id
    • BidResponse.Ad.buyer_creative_id
    • BidResponse.Ad.width
    • BidResponse.Ad.height
  • OpenRTB:

    • BidResponse.seatbid.bid.adomain
    • BidResponse.seatbid.bid.cid
    • BidResponse.seatbid.bid.crid
    • BidResponse.seatbid.bid.w
    • BidResponse.seatbid.bid.h

Weitere Informationen zur Meldung SeatBid finden Sie in den Leitfäden für das Google-Protokoll und das OpenRTB.

Ihre Gebotsantwort muss ein SdkRenderedAd mit folgenden Angaben enthalten:

SDK-ID

Verwenden Sie das Feld id, um die ID für das SDK anzugeben, mit dem die Anzeige gerendert wird.

Die ID finden Sie in der Gebotsanfrage mit den folgenden Feldern:

  • Authorized Buyers: BidRequest.mobile.installed_sdk
  • OpenRTB: BidRequest.app.ext.installed_sdk

Weitere Informationen zur Meldung InstalledSdk finden Sie in den Leitfäden für das Google-Protokoll und das OpenRTB.

Deklarierte Anzeige

Verwenden Sie das Feld declared_ad, um ein Creative bereitzustellen, das den Anforderungen für CreativeEnforcementSettings der Gebotsanfrage entspricht und für die Renderingdaten der Anzeige repräsentativ ist. Bei nicht nativen Anzeigenformaten sollte nur html_snippet, video_url oder video_vast_xml verwendet werden. Für native Anzeigenformate sollte nur native_response angegeben werden.

Wenn Sie declared_ad nicht ausfüllen, kann das Creative nicht überprüft werden und alle Gebote für das Creative werden aus der Auktion herausgefiltert.

Daten rendern

Verwenden Sie das Feld rendering_data, um die Daten für das Käufer-SDK anzugeben, die zum Rendern Ihrer Anzeige verwendet werden sollen.

  • Authorized Buyers: BidResponse.ad.sdk_rendered_ad.rendering_data
  • OpenRTB: BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data

Für Gebote für eine Käufer-SDK-Anzeige muss ein Creative im Feld declared_ad angegeben werden. Die deklarierte Anzeige muss die rendering_data korrekt darstellen.

Hier ein Beispiel für ein SdkRenderedAd-Objekt:

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

Wir empfehlen, die Real-time Bidding API zu verwenden, um Creatives zur Überprüfung einzureichen, bevor Sie sie in eine Gebotsantwort aufnehmen.

Weitere Informationen zu den SdkRenderedAd-Feldern finden Sie in den Protokollleitfäden von Google und OpenRTB.

Beispiel für eine Gebotsantwort

Hier sehen Sie Beispiele für Gebotsantworten für jedes Anzeigenformat:

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"

Interstitial

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 mit Prämie

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"

Nativ

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"

Creative-Überprüfung

Creatives werden vor der Auslieferung überprüft, um sicherzustellen, dass sie unseren Richtlinien und Publisher-Einstellungen entsprechen.

Es gibt zwei Möglichkeiten, Creatives zur Überprüfung einzureichen:

Real-time Bidding API (empfohlen)

Mit der Methode buyers.creatives.create der Real-time Bidding API können Sie Creatives zur Überprüfung einreichen.

Die API erfordert nur eine Einreichung pro Creative und ermöglicht es Ihnen, den Überprüfungsstatus Ihres Creatives zu prüfen.

Gebotsantwort

Sie können neue Creatives direkt in der Gebotsantwort einreichen.

Sie müssen das Feld declared_ad des Objekts SdkRenderedAd verwenden, um eine Gebotsantwort mit einem SDK-Creative des Käufers zur Überprüfung zu senden.

In der Gebotsantwort eingereichte Creatives werden erst nach vielen Geboten überprüft. Alle Gebote, die vor Abschluss der Überprüfung abgegeben wurden, werden aus der Auktion herausgefiltert. Nachdem die Überprüfung begonnen hat, können Sie über die Benutzeroberfläche für Echtzeitgebote oder die Real-time Bidding API den Status eines Creatives prüfen.

Weitere Informationen finden Sie im Creative-Leitfaden.