dependencies {
implementation 'com.google.android.gms:play-services-ads:20.2.0'
}
@Composable
fun AdBanner(adUnitId: String) {
val adSize = if (Random.nextBoolean()) AdSize.BANNER else AdSize.FULL_BANNER
AndroidView(
factory = { context ->
AdView(context).apply {
adUnitId = adUnitId
adSize = adSize
adListener = object : AdListener() {
override fun onAdFailedToLoad(loadAdError: LoadAdError) {
// Handle the failure by logging, altering the UI, etc.
Log.d("AdmobBanner", "onAdFailedToLoad: ${loadAdError.message}")
}
}
}
},
update = { adView ->
adView.loadAd(AdRequest.Builder().build())
}
)
}
在上面的示例中,我们将AdView添加到Jetpack Compose中,并使用Random类随机更改AdSize,从而动态更改广告大小。我们还为AdView添加了广告请求,以展示广告。
setContent {
Column {
AdBanner(adUnitId = "your_admob_banner_unit_id")
// Other content
}
}
这里的AdBanner() Composable将广告添加到Jetpack Compose Column中。
这样动态更改Admob广告横幅的大小就完成了。