Component]adMob接続方法
これはComposeを利用してアプリケーションを開発し、広告を出したいときに直面する最初の問題です.
現在、AdMobは正式な合成をサポートしていないため、他の方法が必要です.
以下に示すように、AdverViewを定義して使用します.
現在、AdMobは正式な合成をサポートしていないため、他の方法が必要です.
以下に示すように、AdverViewを定義して使用します.
@Composable
fun AdvertView(modifier: Modifier = Modifier) {
val isInEditMode = LocalInspectionMode.current
if (isInEditMode) {
Text(
modifier = modifier
.fillMaxWidth()
.background(Color.Red)
.padding(horizontal = 2.dp, vertical = 6.dp),
textAlign = TextAlign.Center,
color = Color.White,
text = "Advert Here",
)
} else {
AndroidView(
modifier = modifier.fillMaxWidth(),
factory = { context ->
AdView(context).apply {
adSize = AdSize.BANNER
adUnitId = context.getString("배너id")
loadAd(AdRequest.Builder().build())
}
},
update = {
it.loadAd(AdRequest.Builder().build())
}
)
}
}
次に、onCreateセクションで次の内容を使用します. override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
loadAD()
setContent {
BaseApp(title = title.value, bodyContent = {
MainView()
})
}
MobileAds.initialize(this) { }
}
private fun loadAD() {
val adRequest = AdRequest.Builder().build()
InterstitialAd.load(
this,
getString("배너ID"),
adRequest,
object : InterstitialAdLoadCallback() {
override fun onAdFailedToLoad(p0: LoadAdError) {
super.onAdFailedToLoad(p0)
mInterstitialAd = null
}
override fun onAdLoaded(p0: InterstitialAd) {
super.onAdLoaded(p0)
mInterstitialAd = p0
mInterstitialAd?.show(this@MainActivity)
}
})
}
ここで、BaseAppは次のように構成されています.@Composable
fun BaseApp(
title: String = "",
bodyContent: @Composable () -> Unit
) {
val scaffoldState = rememberScaffoldState(rememberDrawerState(DrawerValue.Closed))
Scaffold(
scaffoldState = scaffoldState,
topBar = {
TopAppBar(
title = {
Text(
text = title,
color = MyGray,
fontFamily = Font.mapleStory,
textAlign = TextAlign.Center,
modifier = Modifier.fillMaxWidth()
)
},
backgroundColor = MyWhite
)
},
drawerContent = { Text(text = "drawerContent") },
bottomBar = { AdvertView() }
) { innerPadding ->
Box(modifier = Modifier.padding(innerPadding)) {
bodyContent()
}
}
}
ここまでです.Reference
この問題について(Component]adMob接続方法), 我々は、より多くの情報をここで見つけました https://velog.io/@jmseb3/Compose-adMob-연결방법テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol