Skip to main content

Test PIDs and Configurations

Test IDs only

Use these IDs in development only.

Media Placement Test PIDs​

Use these PIDs to test different creative formats and orientations:

PIDDescriptionCreative Format
84242Landscape creatives onlyLandscape
127546Vertical creatives onlyVertical
127547Square creatives onlySquare
128779Carousel creatives onlyCarousel
128780Multiple creative sizes & formatsMixed formats

Usage Example​

val adPlacementSettings = TeadsAdPlacementSettings.Builder()
.enableDebug()
.build()

val adRequestSettings = TeadsAdRequestSettings.Builder()
.pageUrl(Uri.parse("https://example.com/article"))
.build()

val mediaPlacement = TeadsAdPlacementMedia(this, 84242, adPlacementSettings, this)
mediaPlacement.requestAd(adRequestSettings)

Media Native Placement Test PIDs​

Media Native Ads​

Use this PID to test Media Native with custom layouts:

PIDDescriptionCreative Format
124859Display creatives onlyNative creatives with custom rendering

Usage Example​

val adPlacementSettings = TeadsAdPlacementSettings.Builder()
.enableDebug()
.build()

val adRequestSettings = TeadsAdRequestSettings.Builder()
.pageUrl(Uri.parse("https://example.com/article"))
.build()

val mediaNativePlacement = TeadsAdPlacementMediaNative(this, 124859, adPlacementSettings, this)
mediaNativePlacement.requestAd(adRequestSettings)

Feed Placement Test Configuration​

Use this configuration to test content recommendation widgets:

ParameterValueDescription
Article URLhttps://test-demo.outbrain.comTest article URL for content recommendations
Widget IDMB_1, MB_2, TEST_FEEDTest widget identifiers
Installation KeyNANOWDGT01, TESTKEY01Test installation keys
User IDnullOptional user identifier
Dark ModetrueEnable dark mode for testing

Usage Example​

val config = TeadsAdPlacementFeedConfig(
articleUrl = Uri.parse("https://test-demo.outbrain.com"),
widgetId = "MB_1",
installationKey = "NANOWDGT01",
widgetIndex = 0,
userId = null,
darkMode = true,
testDisplay = false,
extId = null,
extSecondaryId = null,
obPubImpl = null
)

val feedPlacement = TeadsAdPlacementFeed(this, config, this) // context (this) MUST be an Activity
val feedView = feedPlacement.loadAd()

Recommendations API Test Configuration​

Use this configuration to test programmatic content recommendations:

ParameterValueDescription
Article URLhttps://test-demo.outbrain.comTest article URL for content recommendations
Widget IDSDK_1, RECS_1, TEST_RECSTest recommendations identifiers
Installation KeyNANOWDGT01, TESTKEY01Test installation keys
User IDnullOptional user identifier
Dark ModetrueEnable dark mode for testing

Usage Example​

val config = TeadsAdPlacementRecommendationsConfig(
Uri.parse("https://test-demo.outbrain.com"),
"SDK_1" // Your unique Placement ID
)

val recommendationsPlacement = TeadsAdPlacementRecommendations(config, this)
recommendationsPlacement.loadAd().subscribe { recommendations ->
// Handle the loaded recommendations
}

Interstitial Placement Test Configuration​

Use this configuration to test interstitial fullscreen ads — it applies both to the direct integration and to AdMob / Google Ad Manager mediation:

ParameterValueDescription
Article URLhttps://mobile-demo.outbrain.comTest article URL
Widget IDINT_APP_1Test widget identifier
Installation KeyNANOWDGT01Test installation key

Usage Example - Direct Integration​

val config = TeadsAdPlacementInterstitialConfig(
articleUrl = "https://mobile-demo.outbrain.com",
widgetId = "INT_APP_1",
installationKey = "NANOWDGT01"
)

val interstitial = TeadsAdPlacementInterstitial(this, config, this) // this must be an Activity
interstitial.loadAd()

Usage Example - AdMob / Google Ad Manager Mediation​

Configure the following JSON as the custom event parameter on the Google mediation setup platform:

{"articleUrl":"https://mobile-demo.outbrain.com","widgetId":"INT_APP_1","installationKey":"NANOWDGT01"}
MobileAds.initialize(context)

val adRequest = AdRequest.Builder().build()

InterstitialAd.load(
context,
"YOUR_AD_UNIT_ID", // Ad unit id obtained from Google mediation platform
adRequest,
object : InterstitialAdLoadCallback() {
override fun onAdLoaded(ad: InterstitialAd) {
// Ad loaded successfully
}
override fun onAdFailedToLoad(error: LoadAdError) {
// Handle error
}
}
)

Use this configuration to test the anchored Banner — it applies both to the direct integration and to AdMob / GAM mediation:

ParameterValueDescription
Article URLhttps://mobile-demo.outbrain.com/Test article URL
Widget IDMB_10Test widget identifier
Installation KeyNANOWDGT01Test installation key

Usage Example - Direct Integration​

val config = TeadsAdPlacementBannerConfig(
articleUrl = "https://mobile-demo.outbrain.com/".toUri(),
widgetId = "MB_10",
installationKey = "NANOWDGT01",
widgetIndex = 0
)

val banner = TeadsAdPlacementBanner(this, config, this) // context (this) MUST be an Activity
findViewById<FrameLayout>(R.id.banner_container).addView(banner.loadAd())

Usage Example - AdMob / Google Ad Manager Mediation​

Configure the following JSON as the custom event parameter on the Google mediation setup platform:

{"articleUrl":"https://mobile-demo.outbrain.com/","widgetId":"MB_10","installationKey":"NANOWDGT01"}