Prebid Mobile SDK in Apps: Unterschied zwischen den Versionen
| (14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
Das Prebid Mobile SDK dient dazu verschiedene HeaderBidding Anbieter in eine App zu integrieren, die dann bei Seitenaufruf initial auf die dort verfügbaren Werbeplatzierungen bieten. Das Gewinner Gebot wird dann an vie Google Mobile Ads SDK (GMA SDK) an den Adserver weitergegeben, der das gebot mit weiteren dort vorliegenden Buchungen vergleicht und die passendste Buchung ausliefert. | Das Prebid Mobile SDK dient dazu verschiedene HeaderBidding Anbieter in eine App zu integrieren, die dann bei Seitenaufruf initial auf die dort verfügbaren Werbeplatzierungen bieten. Das Gewinner Gebot wird dann an vie Google Mobile Ads SDK (GMA SDK) an den Adserver weitergegeben, der das gebot mit weiteren dort vorliegenden Buchungen vergleicht und die passendste Buchung ausliefert. | ||
Hinweis: Die Einbauanleitung benutzt als Codebeispiele Schnipsel für Android und geht davon aus, dass das Google Mobile Ads SDK bereits in der App integriert ist. | Hinweis: Die Einbauanleitung benutzt als Codebeispiele Schnipsel für Android und geht davon aus, dass das Google Mobile Ads SDK bereits in der App integriert ist. | ||
Grundsätzliche Dokumentation von Prebid Mobile befindet sich hier: | Grundsätzliche Dokumentation von Prebid Mobile befindet sich hier: | ||
iOS: https://docs.prebid.org/prebid-mobile/pbm-api/ios/code-integration-ios.html | *Generelle Übersicht: https://docs.prebid.org/prebid-mobile/prebid-mobile.html | ||
Android: https://docs.prebid.org/prebid-mobile/pbm-api/android/code-integration-android.html | *iOS: https://docs.prebid.org/prebid-mobile/pbm-api/ios/code-integration-ios.html | ||
*Android: https://docs.prebid.org/prebid-mobile/pbm-api/android/code-integration-android.html | |||
==Schritt 1 - Prebid Mobile SDK einbinden== | |||
iOS: https://github.com/prebid/prebid-mobile-ios | iOS: https://github.com/prebid/prebid-mobile-ios | ||
Android: https://github.com/prebid/prebid-mobile-android | Android: https://github.com/prebid/prebid-mobile-android | ||
==Schritt 2 - initiale globale Konfiguration== | |||
Zu Beginn muss den Endpoint und die Account ID im SDK gesetzt werden und in eine initialisierungs Methode gepackt werden | Zu Beginn muss den Endpoint und die Account ID im SDK gesetzt werden und in eine initialisierungs Methode gepackt werden | ||
| Zeile 18: | Zeile 18: | ||
*Prebid Server Url: '''https://client-pbs.relevant-digital.com/openrtb2/auction''' | *Prebid Server Url: '''https://client-pbs.relevant-digital.com/openrtb2/auction''' | ||
===Beispiel=== | |||
<pre> | <pre> | ||
PrebidMobile.setPrebidServerAccountId("<<<PREBID_SERVER_ACCOUNT_ID>>>") | PrebidMobile.setPrebidServerAccountId("<<<PREBID_SERVER_ACCOUNT_ID>>>") | ||
| Zeile 38: | Zeile 38: | ||
</pre> | </pre> | ||
==Schritt 3 - BannerAdUnits anlegen pro Platzierung== | |||
Für jede Werbeplatzierung (iqadtile) muss eine BannerAdUnit angelegt und konfiguriert werden: | Für jede Werbeplatzierung (iqadtile) muss eine BannerAdUnit angelegt und konfiguriert werden: | ||
| Zeile 44: | Zeile 44: | ||
#Die Größen, die für das iqadtile definiert worden sind, müssen der BannerAdUnit ebenfalls mitgeteilt werden. (Wichtig: im Normalfall müssen mehr als eine Size übergeben werden, sie unterscheiden sich oft von iqadtile zu iqadtile) | #Die Größen, die für das iqadtile definiert worden sind, müssen der BannerAdUnit ebenfalls mitgeteilt werden. (Wichtig: im Normalfall müssen mehr als eine Size übergeben werden, sie unterscheiden sich oft von iqadtile zu iqadtile) | ||
==Schritt 4 - Globale Konfigurationen für BannerAdUnits== | |||
Diese gelten für alle BannerAdUnits gleichermaßen | Diese gelten für alle BannerAdUnits gleichermaßen | ||
===OMID=== | |||
Mit OMID wird den Headerbidding Partnern mitgeteilt, welches OpenMeasurement SDK benutzt wird. Das GMA SDK hat das OpenMeasurementSDK verbaut, weswegen hier die IDs für Google angegeben werden müssen: | Mit OMID wird den Headerbidding Partnern mitgeteilt, welches OpenMeasurement SDK benutzt wird. Das GMA SDK hat das OpenMeasurementSDK verbaut, weswegen hier die IDs für Google angegeben werden müssen: | ||
=====Banner API | ====iOS:==== | ||
*OmidPartnerVersion: '''afma-sdk-i-v12.11.0''' | |||
*OmidPartnerName: '''Google''' | |||
====Android:==== | |||
*OmidPartnerVersion: '''253830000.253830000''' | |||
*OmidPartnerName: '''Google''' | |||
====Beispiel:==== | |||
<pre> | |||
TargetingParams.setOmidPartnerVersion("253830000.253830000"); | |||
TargetingParams.setOmidPartnerName("Google"); | |||
</pre> | |||
===Banner API=== | |||
Den Headerbidding Partnern muss mitgeteilt werden, welche APIs verfügbar sind. Im Falle des GMA SDKs sind folgende Werte gültig: | Den Headerbidding Partnern muss mitgeteilt werden, welche APIs verfügbar sind. Im Falle des GMA SDKs sind folgende Werte gültig: | ||
MRAID 1 bis 3, OMID 1 | MRAID 1 bis 3, OMID 1 | ||
====Beispiel:==== | |||
<pre> | <pre> | ||
val parameters = BannerParameters() | val parameters = BannerParameters() | ||
| Zeile 61: | Zeile 75: | ||
Signals.Api.MRAID_2, Signals.Api.MRAID_1) | Signals.Api.MRAID_2, Signals.Api.MRAID_1) | ||
adUnit?.bannerParameters = parameters | adUnit?.bannerParameters = parameters | ||
</pre> | </pre> | ||
===Display Manager=== | |||
Den Headerbidding Partnern sollte mitgeteilt werden, welcher DisplayManager und welche Version benutzt wird. | Den Headerbidding Partnern sollte mitgeteilt werden, welcher DisplayManager und welche Version benutzt wird. | ||
====Beispiel:==== | |||
<pre> | <pre> | ||
TargetingParams.setGlobalOrtbConfig( | TargetingParams.setGlobalOrtbConfig( | ||
""" | """ | ||
{ | { | ||
"displaymanager": "Google", | "displaymanager": "Google", | ||
"displaymanagerver": "${MobileAds.getVersion()}", | "displaymanagerver": "${MobileAds.getVersion()}", | ||
"ext": { | "ext": { | ||
"myext": { | "myext": { | ||
"test": 1 | "test": 1 | ||
} | } | ||
} | } | ||
} | } | ||
""".trimIndent() | """.trimIndent() | ||
) | ) | ||
</pre> | </pre> | ||
==Schritt 5 - iqadtile/Seiten -spezifische Konfigurationen für BannerAdUnits== | |||
== | |||
Diese unterscheiden sich je nach iqadtile oder Seite. | Diese unterscheiden sich je nach iqadtile oder Seite. | ||
===GPID=== | |||
Die GPID ist dazu da, bestimmten Headerbidding Partnern mitzuteilen, für welche Platzierung sie bieten und deshalb sehr wichtig. Ein Fehlen dieser Information führt zu schlechteren Geboten! | Die GPID ist dazu da, bestimmten Headerbidding Partnern mitzuteilen, für welche Platzierung sie bieten und deshalb sehr wichtig. Ein Fehlen dieser Information führt zu schlechteren Geboten! | ||
*'''gpid''' entspricht der AdUnit, welche für das iqadtile benutzt wird, z.B. /183/FAZ_app_android_phone/homepage | |||
pbadslot ist eine Kombination aus AdUnit und iqadtile, Beispiel /183/FAZ_app_android_phone/homepage#iqadtile3 | *'''pbadslot''' ist eine Kombination aus AdUnit und iqadtile, Beispiel /183/FAZ_app_android_phone/homepage#iqadtile3 | ||
relevant_slotInstance ist die Nummer des iqadtiles, Beispiel 3 für iqadtile3 | *'''relevant_slotInstance''' ist die Nummer des iqadtiles, Beispiel 3 für iqadtile3 | ||
====Beispiel==== | |||
<pre> | <pre> | ||
adUnit?.impOrtbConfig = """ | adUnit?.impOrtbConfig = """ | ||
{ | { | ||
"ext": { | "ext": { | ||
"gpid":"/183/FAZ_app_android_phone/homepage" | "gpid":"/183/FAZ_app_android_phone/homepage" | ||
"data": { | "data": { | ||
"pbadslot":"/183/FAZ_app_android_phone/homepage#iqadtile3" | "pbadslot":"/183/FAZ_app_android_phone/homepage#iqadtile3" | ||
"relevant_slotInstance": "3" // optional extra to RY | "relevant_slotInstance": "3" // optional extra to RY analytics | ||
analytics | } | ||
} | } | ||
} | } | ||
} | |||
""".trimIndent() | """.trimIndent() | ||
</pre> | </pre> | ||
==Anhang: Funktionsweise Prebid Mobile SDK und GMA SDK== | |||
== | |||
[[Datei:Prebid SDK.png|800px]] | [[Datei:Prebid SDK.png|800px]] | ||
#Das Prebid Mobile SDK sendet ein Request an Prebid Server | #Das Prebid Mobile SDK sendet ein Request an Prebid Server | ||
#Prebid Server liefert, falls vorhanden, ein Gebot zurück | #Prebid Server liefert, falls vorhanden, ein Gebot zurück | ||
| Zeile 142: | Zeile 130: | ||
#Die App zeigt die Werbung an | #Die App zeigt die Werbung an | ||
Wichtiger Hinweis: Ein Adrequest mit dem GMA SDK erfolgt immer, auch wenn das Prebid Mobile SDK keine Gebote hat. Prebid Gebote ergänzen das Adrequest, sie sind aber keine notwendige Bedingung. | |||
==Wichtige Links== | ==Wichtige Links== | ||
*[https://docs.prebid.org/prebid-mobile/prebid-mobile.html Getting Started] | *[https://docs.prebid.org/prebid-mobile/prebid-mobile.html Getting Started] | ||
*[https://docs.prebid.org/prebid-server/use-cases/pbs-sdk.html#prebid-sdk-calls-prebid-server Prebid SDK Workflow] | *[https://docs.prebid.org/prebid-server/use-cases/pbs-sdk.html#prebid-sdk-calls-prebid-server Prebid SDK Workflow] | ||
===iOS=== | ===iOS=== | ||
*[https://docs.prebid.org/prebid-mobile/pbm-api/ios/code-integration-ios.html Code Integration] | *[https://docs.prebid.org/prebid-mobile/pbm-api/ios/code-integration-ios.html Code Integration] | ||
===Android=== | ===Android=== | ||
*[https://docs.prebid.org/prebid-mobile/pbm-api/android/code-integration-android.html Code Integration] | *[https://docs.prebid.org/prebid-mobile/pbm-api/android/code-integration-android.html Code Integration] | ||
[[en:Prebid Mobile SDK in Apps]] | [[en:Prebid Mobile SDK in Apps]] | ||
Aktuelle Version vom 28. Januar 2026, 12:05 Uhr
Einführung
Das Prebid Mobile SDK dient dazu verschiedene HeaderBidding Anbieter in eine App zu integrieren, die dann bei Seitenaufruf initial auf die dort verfügbaren Werbeplatzierungen bieten. Das Gewinner Gebot wird dann an vie Google Mobile Ads SDK (GMA SDK) an den Adserver weitergegeben, der das gebot mit weiteren dort vorliegenden Buchungen vergleicht und die passendste Buchung ausliefert.
Hinweis: Die Einbauanleitung benutzt als Codebeispiele Schnipsel für Android und geht davon aus, dass das Google Mobile Ads SDK bereits in der App integriert ist. Grundsätzliche Dokumentation von Prebid Mobile befindet sich hier:
- Generelle Übersicht: https://docs.prebid.org/prebid-mobile/prebid-mobile.html
- iOS: https://docs.prebid.org/prebid-mobile/pbm-api/ios/code-integration-ios.html
- Android: https://docs.prebid.org/prebid-mobile/pbm-api/android/code-integration-android.html
Schritt 1 - Prebid Mobile SDK einbinden
iOS: https://github.com/prebid/prebid-mobile-ios Android: https://github.com/prebid/prebid-mobile-android
Schritt 2 - initiale globale Konfiguration
Zu Beginn muss den Endpoint und die Account ID im SDK gesetzt werden und in eine initialisierungs Methode gepackt werden
- Prebid Server Account Id: <<<PREBID_SERVER_ACCOUNT_ID>>>
- Prebid Server Url: https://client-pbs.relevant-digital.com/openrtb2/auction
Beispiel
PrebidMobile.setPrebidServerAccountId("<<<PREBID_SERVER_ACCOUNT_ID>>>")
PrebidMobile.setCustomStatusEndpoint("https://client-pbs.relevant-digital.com/s
tatus")
PrebidMobile.initializeSdk(
applicationContext,
"https://client-pbs.relevant-digital.com/openrtb2/auction") { status ->
if (status == InitializationStatus.SUCCEEDED) {
Log.d(TAG, "SDK initialized successfully!")
} else {
Log.e(TAG, "SDK initialization error: $status\\
${status.description}")
}
}
)
Schritt 3 - BannerAdUnits anlegen pro Platzierung
Für jede Werbeplatzierung (iqadtile) muss eine BannerAdUnit angelegt und konfiguriert werden:
- Config Id, diese ist für jedes iqadtile anders und wird in einer Tabelle von der iqdigital zur Verfügung gestellt
- Die Größen, die für das iqadtile definiert worden sind, müssen der BannerAdUnit ebenfalls mitgeteilt werden. (Wichtig: im Normalfall müssen mehr als eine Size übergeben werden, sie unterscheiden sich oft von iqadtile zu iqadtile)
Schritt 4 - Globale Konfigurationen für BannerAdUnits
Diese gelten für alle BannerAdUnits gleichermaßen
OMID
Mit OMID wird den Headerbidding Partnern mitgeteilt, welches OpenMeasurement SDK benutzt wird. Das GMA SDK hat das OpenMeasurementSDK verbaut, weswegen hier die IDs für Google angegeben werden müssen:
iOS:
- OmidPartnerVersion: afma-sdk-i-v12.11.0
- OmidPartnerName: Google
Android:
- OmidPartnerVersion: 253830000.253830000
- OmidPartnerName: Google
Beispiel:
TargetingParams.setOmidPartnerVersion("253830000.253830000");
TargetingParams.setOmidPartnerName("Google");
Banner API
Den Headerbidding Partnern muss mitgeteilt werden, welche APIs verfügbar sind. Im Falle des GMA SDKs sind folgende Werte gültig:
MRAID 1 bis 3, OMID 1
Beispiel:
val parameters = BannerParameters() parameters.api = listOf(Signals.Api.MRAID_3, Signals.Api.OMID_1, Signals.Api.MRAID_2, Signals.Api.MRAID_1) adUnit?.bannerParameters = parameters
Display Manager
Den Headerbidding Partnern sollte mitgeteilt werden, welcher DisplayManager und welche Version benutzt wird.
Beispiel:
TargetingParams.setGlobalOrtbConfig(
"""
{
"displaymanager": "Google",
"displaymanagerver": "${MobileAds.getVersion()}",
"ext": {
"myext": {
"test": 1
}
}
}
""".trimIndent()
)
Schritt 5 - iqadtile/Seiten -spezifische Konfigurationen für BannerAdUnits
Diese unterscheiden sich je nach iqadtile oder Seite.
GPID
Die GPID ist dazu da, bestimmten Headerbidding Partnern mitzuteilen, für welche Platzierung sie bieten und deshalb sehr wichtig. Ein Fehlen dieser Information führt zu schlechteren Geboten!
- gpid entspricht der AdUnit, welche für das iqadtile benutzt wird, z.B. /183/FAZ_app_android_phone/homepage
- pbadslot ist eine Kombination aus AdUnit und iqadtile, Beispiel /183/FAZ_app_android_phone/homepage#iqadtile3
- relevant_slotInstance ist die Nummer des iqadtiles, Beispiel 3 für iqadtile3
Beispiel
adUnit?.impOrtbConfig = """
{
"ext": {
"gpid":"/183/FAZ_app_android_phone/homepage"
"data": {
"pbadslot":"/183/FAZ_app_android_phone/homepage#iqadtile3"
"relevant_slotInstance": "3" // optional extra to RY analytics
}
}
}
""".trimIndent()
Anhang: Funktionsweise Prebid Mobile SDK und GMA SDK
- Das Prebid Mobile SDK sendet ein Request an Prebid Server
- Prebid Server liefert, falls vorhanden, ein Gebot zurück
- Das Adrequest an den Google Ad Manager wird um die Prebid Parameter ergänzt
- Der Google Ad Manager prüft das Request und liefert Werbung aus
- Die App zeigt die Werbung an
Wichtiger Hinweis: Ein Adrequest mit dem GMA SDK erfolgt immer, auch wenn das Prebid Mobile SDK keine Gebote hat. Prebid Gebote ergänzen das Adrequest, sie sind aber keine notwendige Bedingung.