SDK-gerenderte Anzeigen

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

App-Inventar von Publishern, die Ihren Bidding-Adapter in ihre App einbinden, kann Gebote mit dem vom Käufer-SDK gerenderten Anzeigenformat annehmen. Die Art des Renderings hängt von Ihrer SDK-Implementierung und der SDKRenderedAd ab, die Sie in der Gebotsantwort senden.

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

Voraussetzungen

Anzeigen mit Käufer-SDK 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 Anzeigen mit Käufer-SDK zu konfigurieren. Anschließend können Sie einen Gebotsadapter implementieren, mit dem Ihr SDK mit dem Google Mobile Ads SDK kommunizieren kann. Der Publisher muss Ihr SDK und Ihren Adapter in seine mobilen Apps einbinden.

Wir empfehlen, 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 das Feld sdk_rendered_ad in der Gebotsantwort fest.

Gebotsanfrage

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

SDK-ID

In der Gebotsanfrage finden Sie die SDK-ID, die Sie in der Gebotsantwort im Feld BidRequest.app.ext.installed_sdk.id angeben müssen.

Weitere Informationen finden Sie in der InstalledSdk Referenzdokumentation.

Anzeigenblockzuordnung

In der Gebotsanfrage finden Sie die Anzeigenblockzuordnungen, die mit dem Gebotsplatz übereinstimmen. Sie sind im Feld BidRequest.imp.ext.ad_unit_mapping angegeben.

Weitere Informationen finden Sie in der AdUnitMapping Referenzdokumentation.

Sichere Signale

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

Weitere Informationen zur Darstellung sicherer Signale finden Sie in der BuyerGeneratedRequestData Referenzdokumentation.

Testanfragen

Mit dem Feld BidRequest.test können Sie prüfen, ob es sich bei der Gebotsanfrage um einen Test handelt.

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

Beispiel einer 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 der Gebotsantwort BidResponse.seatbid.bid.ext.sdk_rendered_ad mit den folgenden Informationen gefüllt werden:

SDK-ID

Geben Sie im Feld id die ID für das SDK an, mit dem die Anzeige gerendert werden soll.

Sie finden die ID in BidRequest.app.ext.installed_sdk.

Deklarierte Anzeige

Geben Sie mit BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad ein Creative an, das die Anforderungen in BidRequest.imp.ext.creative_enforcement_settings erfüllt und repräsentativ für die Renderingdaten der Anzeige ist. Nur eines der Felder html_snippet, video_url, video_vast_xml oder native_response sollte gefüllt sein.

Wenn Sie declared_ad nicht ausfüllen, können wir das Creative nicht überprüfen. Alle Gebote mit dem Creative werden dann herausgefiltert.

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

Renderingdaten

Geben Sie im Feld BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data die Daten an, die das Käufer-SDK zum Rendern Ihrer Anzeige verwenden soll.

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

Hier ist 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, Creatives mit der Real-time Bidding API zur Überprüfung einzureichen, bevor Sie sie in eine Gebotsantwort aufnehmen.

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

Beispiel einer Gebotsantwort

Hier sind Beispiel-Gebotsantworten 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 überprüft, bevor sie ausgeliefert werden können. So soll sichergestellt werden, dass sie unseren Richtlinien und den Publisher Einstellungen entsprechen.

Sie haben zwei Möglichkeiten, Creatives zur Überprüfung einzureichen:

Real-time Bidding API (empfohlen)

Mit der buyers.creatives.create Methode der Echtzeitgebote API können Sie Creatives zur Überprüfung einreichen.

Die API erfordert nur eine Einreichung pro Creative und ermöglicht es Ihnen, den Status der Creative-Überprüfung 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 Creative des Käufer-SDK zur Überprüfung einzureichen.

In der Gebotsantwort eingereichte Creatives 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 die Echtzeitgebote-Benutzeroberfläche oder die Echtzeitgebote API verwenden, um den Status eines Creatives nach Beginn der Überprüfung zu prüfen.

Weitere Informationen finden Sie im Leitfaden zu Creatives für mehr Details.

Weitere Google Mobile Ads SDK-Integrationen

Authorized Buyers haben mehrere Möglichkeiten, sich direkt in das Google Mobile Ads SDK zu integrieren, darunter Mediation, Bieteradapter und sichere Signale. Weitere Informationen zu diesen Integrationspunkten oder zu anderen Integrationen von On-Device-Signalen oder -Verarbeitung mit dem Google Mobile Ads SDK zur Verbesserung der Anzeigenrelevanz oder -Messung erhalten Sie von Ihrem Technical Account Manager.