Полагаю, вы ищете какую-то идею о том, как управлять рекламой в вашем приложении с центральной точки зрения. Вот пример кода ниже, вы можете попробовать это, чтобы создать их и управлять ими в одном месте. аналогичные функции могут быть созданы для управления и другими типами.
/**
* ad manager class managing the ads initializing and showing them
*/
class AdManager(context: Context){
init(){
MobileAds.initialize(context, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
//do something on initialization or leave it as it is
}
});
}
/**
* this function controls showing the xml banner ads
*/
fun showAd(adView: AdView){
//some add showing code goes here
val adRequest = AdRequest.Builder().build()
adView.loadAd(adRequest)
}
fun listenForChanges(context: Context, adview: AdView){
adview.adListener = object: AdListener() {
override fun onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
override fun onAdFailedToLoad(errorCode : Int) {
// 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.
}
}
//similar functions can be created and used for other type of ads
}