Anzeigenformat für Käufer-SDK

Bei Anzeigen mit Käufer-SDK werden Creatives verwendet, die von Ihrem eigenen SDK gerendert werden.

Für Inventar in mobilen Apps von Publishern, die Ihren Gebotsadapter in ihre App einbinden, können Gebote mit dem vom Käufer-SDK gerenderten Anzeigenformat akzeptiert werden. Die Darstellung hängt von Ihrer SDK-Implementierung und dem SDKRenderedAd ab, das Sie in der Gebotsantwort einreichen.

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

Voraussetzungen

Anzeigen mit Käufer-SDK sind für genehmigte Käufer verfügbar. Sie können Authorized Buyers direkt in das Google Mobile Ads SDK einbinden, einschließlich Vermittlung, Bidder-Adaptern und sicheren Signalen. Der Publisher muss Ihr SDK und Ihren Adapter in seine mobilen Apps einbinden.

Wenn Sie weitere Informationen zu diesen Integrationspunkten benötigen oder andere On-Device-Signal- oder ‑Verarbeitungsintegrationen mit dem Google Mobile Ads SDK besprechen möchten, um die Relevanz oder Messung von Anzeigen zu verbessern, wenden Sie sich an Ihren technischen Account Manager.

Wir empfehlen, Creatives zur Überprüfung einzureichen, bevor Sie sie in eine Gebotsantwort aufnehmen.

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

Gebotsanfrage

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

SDK-ID

Anhand der Gebotsanfrage können Sie die SDK-ID ermitteln, die Sie in der Gebotsantwort mit dem Feld BidRequest.app.ext.installed_sdk.id angeben müssen.

Weitere Informationen dazu finden Sie in der InstalledSdk-Referenzdokumentation.

Anzeigenblockzuordnung

Mit der Gebotsanfrage können Sie die Anzeigenblockzuordnungen finden, die mit dem Gebots-Slot übereinstimmen. Verwenden Sie dazu das Feld BidRequest.imp.ext.ad_unit_mapping.

Weitere Informationen dazu finden Sie in der AdUnitMapping-Referenzdokumentation.

Sichere Signale

Publisher können sichere Signale für Bieter freigeben. Sie finden sie unter BidRequest.imp.ext.buyer_generated_request_data.data.

Weitere Informationen dazu, wie sichere Signale in der BuyerGeneratedRequestData-Referenzdokumentation darstellen,

Testanfragen

Mit dem Feld BidRequest.test können Sie prüfen, ob die Gebotsanfrage ein Test ist.

Weitere Informationen zu diesem Feld finden Sie in der BidRequest-Referenzdokumentation.

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

Die folgenden Felder sind in der Gebotsantwort erforderlich:

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

Außerdem muss in Ihrer Gebotsantwort BidResponse.seatbid.bid.ext.sdk_rendered_ad mit Folgendem ausgefüllt werden:

SDK-ID

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

Die ID finden Sie unter BidRequest.app.ext.installed_sdk.

Angegebene Anzeige

Verwenden Sie BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad, um ein Creative bereitzustellen, das den Anforderungen in BidRequest.imp.ext.creative_enforcement_settings entspricht und die Rendering-Daten der Anzeige repräsentiert. Es sollte nur eines der Felder html_snippet, video_url, video_vast_xml oder native_response ausgefüllt werden.

Wenn Sie declared_ad nicht ausfüllen, können wir das Creative nicht überprüfen und alle Gebote mit dem Creative werden aus der Auktion herausgefiltert.

Weitere Informationen zur deklarierten Anzeige finden Sie in der DeclaredAd-Referenzdokumentation.

Daten rendern

Verwenden Sie das Feld BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data, um die Daten für das Käufer-SDK bereitzustellen, mit denen Ihre Anzeige gerendert werden soll.

Bei Geboten zum Platzieren einer Anzeige mit Käufer-SDK 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 einfügen.

Weitere Informationen zu den SdkRenderedAd-Feldern finden Sie im OpenRTB-Leitfaden.

Beispiel für eine Gebotsantwort

Hier sind Beispielantworten für Gebote für die einzelnen Anzeigenformate:

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 geprüft, um sicherzustellen, dass sie unseren Richtlinien und den Einstellungen der Publisher 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.

Für die API ist nur eine Einreichung pro Creative erforderlich und Sie können den Status der Creative-Überprüfung abrufen.

Gebotsantwort

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

Sie müssen das Feld declared_ad des SdkRenderedAd-Objekts verwenden, um eine Gebotsantwort mit einem Buyer-SDK-Creative zur Überprüfung einzureichen.

Creatives, die in der Gebotsantwort eingereicht werden, werden erst nach vielen Geboten überprüft. Alle Gebote, die vor Abschluss der Überprüfung abgegeben werden, werden aus der Auktion herausgefiltert. Sie können den Status eines Creatives nach Beginn der Überprüfung über die Real-time Bidding-Benutzeroberfläche oder die Real-time Bidding API prüfen.

Weitere Informationen finden Sie im Leitfaden zu Creatives.