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 Bidding Adapter in ihre App einbinden, können Gebote mit dem vom Käufer-SDK gerenderten Anzeigenformat abgegeben werden. 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. Sie können Authorized Buyers direkt in das Google Mobile Ads SDK einbinden, einschließlich Mediation, Bieteradaptern, und sicheren Signalen. Der Publisher muss Ihr SDK und Ihren Adapter in seine mobilen Apps einbinden.

Weitere Informationen zu diesen Integrationspunkten oder zu anderen Integrationen von On-Device-Signalen oder -Verarbeitungen mit dem Google Mobile Ads SDK zur Verbesserung der Anzeigenrelevanz oder -Messung erhalten Sie von Ihrem 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 in der Gebotsantwort das Feld sdk_rendered_ad fest.

Gebotsanfrage

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

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. Verwenden Sie dazu das Feld BidRequest.imp.ext.ad_unit_mapping.

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 Folgendem ausgefü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 ausgefüllt sein.

Wenn Sie declared_ad nicht ausfüllen, können wir das Creative nicht überprüfen. Alle Gebote mit dem Creative werden dann aus der Auktion 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 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 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 mit 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 Real-time Bidding-Benutzeroberfläche oder die Real-time Bidding API verwenden, um den Status eines Creatives zu prüfen, nachdem die Überprüfung begonnen hat.

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