Answer the question
In order to leave comments, you need to log in
How to embed admob in kotlin project?
There is a project created in android studio on kotlin, when embedding admob, the project is going to crumble, but tell me, can I put ads in the wrong section of the code? I inserted the ad 100% correctly. By creating a new project, the built-in advertising works and the application starts.
override fun onCreate(savedInstanceState: Bundle?) {
AndroidInjection.inject(this)
super.onCreate(savedInstanceState)
setContentView(binding.root)
viewModel.bindView(this)
onNewIntentIntent.onNext(intent)
toggle.syncState()
binding.toolbar.setNavigationOnClickListener {
dismissKeyboard()
homeIntent.onNext(Unit)
}
// add admob
val adView = AdView(this)
MobileAds.initialize(this) {}
val adRequest = AdRequest.Builder().build()
adView.loadAd(adRequest)
adView.adListener = object: AdListener() {
override fun onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
override fun onAdFailedToLoad(adError : LoadAdError) {
// Code to be executed when an ad request fails.
}
override fun onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
override fun onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
override fun onAdLeftApplication() {
// Code to be executed when the user has left the app.
}
override fun onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
}
itemTouchCallback.adapter = conversationsAdapter
conversationsAdapter.autoScrollToStart(binding.recyclerView)
// Don't allow clicks to pass through the drawer layout
binding.drawer.root.clicks().autoDisposable(scope()).subscribe()
// Set the theme color tint to the recyclerView, progressbar, and FAB
theme
.autoDisposable(scope())
.subscribe { theme ->
// Set the color for the drawer icons
val states = arrayOf(
intArrayOf(android.R.attr.state_activated),
intArrayOf(-android.R.attr.state_activated))
resolveThemeColor(android.R.attr.textColorSecondary)
.let { textSecondary -> ColorStateList(states, intArrayOf(theme.theme, textSecondary)) }
.let { tintList ->
binding.drawer.inboxIcon.imageTintList = tintList
binding.drawer.archivedIcon.imageTintList = tintList
}
// Miscellaneous views
listOf(binding.drawer.plusBadge1, binding.drawer.plusBadge2).forEach { badge ->
badge.setBackgroundTint(theme.theme)
badge.setTextColor(theme.textPrimary)
}
binding.syncing.progress.progressTintList = ColorStateList.valueOf(theme.theme)
binding.syncing.progress.indeterminateTintList = ColorStateList.valueOf(theme.theme)
binding.drawer.plusIcon.setTint(theme.theme)
binding.drawer.rateIcon.setTint(theme.theme)
binding.compose.setBackgroundTint(theme.theme)
// Set the FAB compose icon color
binding.compose.setTint(theme.textPrimary)
}
// These theme attributes don't apply themselves on API 21
if (Build.VERSION.SDK_INT <= 22) {
binding.toolbarSearch.setBackgroundTint(resolveThemeColor(R.attr.bubbleColor))
}
}
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question