Config
AdMobConfig with multiple custom groups
val adMobConfig = AdMobConfig(
interstitialGroups = mapOf(
AdMobConfig.DEFAULT_GROUP_REF to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/111"),
preloadOnInit = true
),
"interstitial_level_end" to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/112", "ca-app-pub-xxx/113"),
allowFallbackToDefault = true
),
"interstitial_store_entry" to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/114")
)
),
bannerGroups = mapOf(
AdMobConfig.DEFAULT_GROUP_REF to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/221")
),
"banner_content" to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/222", "ca-app-pub-xxx/223"),
allowFallbackToDefault = true
),
"banner_home_header" to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/224")
)
),
rewardedGroups = mapOf(
AdMobConfig.DEFAULT_GROUP_REF to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/331"),
preloadOnInit = true
),
"rewarded_bonus_claim" to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/332"),
preloadOnInit = true,
allowFallbackToDefault = true
)
),
nativeGroups = mapOf(
AdMobConfig.DEFAULT_GROUP_REF to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/441")
),
"native_feed_card" to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/442", "ca-app-pub-xxx/443"),
allowFallbackToDefault = true
)
),
appOpenGroups = mapOf(
AdMobConfig.DEFAULT_GROUP_REF to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/551"),
preloadOnInit = true
),
"app_open_cold_start" to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/552"),
preloadOnInit = true,
allowFallbackToDefault = true
)
)
)
Optional Structure
Externalize AdMobConfig into its own provider
object PublisherAdMobConfigProvider {
fun build(): AdMobConfig {
return AdMobConfig(
interstitialGroups = mapOf(
AdMobConfig.DEFAULT_GROUP_REF to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/111"),
preloadOnInit = true
),
"interstitial_level_end" to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/112"),
allowFallbackToDefault = true
)
),
bannerGroups = mapOf(
"banner_content" to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/222")
)
),
rewardedGroups = mapOf(
"rewarded_bonus_claim" to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/332"),
preloadOnInit = true
)
),
nativeGroups = mapOf(
"native_feed_card" to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/442")
)
),
appOpenGroups = mapOf(
"app_open_cold_start" to AdMobGroupConfig(
unitIds = listOf("ca-app-pub-xxx/552"),
preloadOnInit = true
)
)
)
}
}