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: 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

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:

  1. Config Id, diese ist für jedes iqadtile anders und wird in einer Tabelle von der iqdigital zur Verfügung gestellt
  2. 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");

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

 

  1. Das Prebid Mobile SDK sendet ein Request an Prebid Server
  2. Prebid Server liefert, falls vorhanden, ein Gebot zurück
  3. Das Adrequest an den Google Ad Manager wird um die Prebid Parameter ergänzt
  4. Der Google Ad Manager prüft das Request und liefert Werbung aus
  5. 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

iOS

Android