Adaptive Admob Banner Ads Implementation

XML Code:- 

  • Ad Container:

<LinearLayout
android:id="@+id/adContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toTopOf="@+id/bottomNavigation"
android:gravity="center_horizontal" />

.kt Code:-

  • Top of onCreate:

private lateinit var adContainer: LinearLayout
private var adView: AdView? = null

  • Inside onCreate:

// Initialize & Call Ad
adContainer = binding.adContainer
loadAdaptiveBanner()

  • Ad Functions:

private fun loadAdaptiveBanner() {
adView = AdView(this)
val adUnitId = getString(R.string.admob_banner_ad_unit_id)

adView?.adUnitId = adUnitId
adContainer.removeAllViews()
adContainer.addView(adView)

val adSize = getAdSize()
adView?.setAdSize(adSize)

val adRequest = AdRequest.Builder().build()
adView?.loadAd(adRequest)
}

private fun getAdSize(): AdSize {
val displayMetrics = resources.displayMetrics
val adWidth = (displayMetrics.widthPixels / displayMetrics.density).toInt()
return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth)
}

override fun onResume() {
super.onResume()
adView?.resume()
}

override fun onPause() {
super.onPause()
adView?.pause()
}

override fun onDestroy() {
super.onDestroy()
adView?.destroy()
adView = null
}

  • Test Ad Unit Id's:

<string name="admob_app_id">ca-app-pub-3940256099942544~3347511713</string>
<string name="admob_banner_ad_unit_id">ca-app-pub-3940256099942544/6300978111</string>
<string name="admob_native_ad_unit_id">ca-app-pub-3940256099942544/2247696110</string>
<string name="admob_interstitial_ad_unit_id">ca-app-pub-3940256099942544/1033173712</string>
<string name="admob_rewarded_ad_unit_id">ca-app-pub-3940256099942544/5224354917</string>
<string name="admob_app_open_ad_unit_id">ca-app-pub-3940256099942544/9257395921</string>

Manifest:-

  • Top of application :

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>

  • Inside application :

<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="@string/admob_app_id"/>


No comments:

Post a Comment