Wewnętrzne reklamy jako fallback
HomeAds to system wewnętrznych reklam używanych jako fallback gdy zewnętrzne sieci (np. AdMob) nie dostarczą reklamy. Możesz wyświetlać własne layouty, promować inne aplikacje lub pokazywać reklamy wewnętrzne.
zone to nazwa strefy, a klucze w mapie
to unit keys - biblioteka szuka najpierw konkretnego unit key,
potem fallback do "default".
ADict.ADS.HomeAds.register(
zone = "feed", // Nazwa STREFY
cfg = HomeAds.ZoneConfig(
banner = mapOf(
"default" to listOf( // Domyślny UNIT KEY
HomeAds.Source.Layout(R.layout.homeads_banner_1),
HomeAds.Source.Layout(R.layout.homeads_banner_2),
HomeAds.Source.Factory { ctx -> MyCustomBanner(ctx) }
),
"premium" to listOf( // Inny UNIT KEY
HomeAds.Source.Layout(R.layout.homeads_banner_premium)
),
"sidebar" to listOf(
HomeAds.Source.Layout(R.layout.homeads_banner_sidebar)
)
),
native = mapOf(
"default" to listOf(
HomeAds.Source.Layout(R.layout.homeads_native_card)
)
),
interstitial = mapOf(
"default" to listOf(
HomeAds.Source.Layout(R.layout.homeads_fullscreen)
)
),
rewarded = mapOf(
"default" to listOf(
HomeAds.RewardSource(
source = HomeAds.Source.Layout(R.layout.homeads_rewarded),
type = "coins",
amount = 10.0,
grantOnClose = true
)
)
)
),
strategy = HomeAds.Strategy.ROUND_ROBIN
)
// Wyczyszczenie konfiguracji
ADict.ADS.HomeAds.clear()
| Strategia | Opis |
|---|---|
FIRST | Zawsze pierwszy layout z listy |
RANDOM | Losowy wybór z listy |
ROUND_ROBIN | Rotacja po kolei |
HomeAds.Source.Layout(R.layout.my_homeads_banner)
HomeAds.Source.Factory { context ->
MyCustomAdView(context).apply {
setImage(R.drawable.promo)
setClickListener { openPromo() }
}
}
HomeAds.RewardSource(
source = HomeAds.Source.Layout(R.layout.homeads_rewarded),
type = "coins", // typ nagrody
amount = 10.0, // ilość
grantOnClose = true // przyznaj po zamknięciu
)
// Użyje "default" (automatycznie)
HomeAds.pickBanner(context, zone = "feed", unitKey = "default")
// Użyje "premium"
HomeAds.pickBanner(context, zone = "feed", unitKey = "premium")
// Użyje "sidebar"
HomeAds.pickBanner(context, zone = "feed", unitKey = "sidebar")
// Jeśli unitKey nie istnieje - fallback do "default"
HomeAds.pickBanner(context, zone = "feed", unitKey = "nieistniejacy")
// → użyje "default"
{
"zones": {
"feed": {
"providers": ["admob", "homeads"],
"homeAdFallback": true
}
}
}
Gdy homeAdFallback: true, biblioteka automatycznie użyje HomeAds
jako ostatniej próby gdy żaden zewnętrzny provider nie dostarczy reklamy.