Android | AdMob Banner Ads for Android Studio
Banner ads are a rectangular image or text ads that occupy a spot within an app’s layout. If you’re new to mobile advertising, banner ads are the easiest to implement. This article shows you how to integrate banner ads from AdMob into an Android app.
Example:
First, create a new project in Android Studio and add the following codes to import the Google Mobile Ads SDK.
In the project-level build.gradle file, add the highlighted code to the allprojects section.
allprojects { repositories { google() jcenter() } }
In the app-level build.gradle file, add the highlighted code to the dependencies section.
dependencies { implementation fileTree(dir : 'libs', include : [ '*.jar' ]) implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.google.android.gms:play-services-ads:19.3.0' }
Add you Admob App Id in the AndroidManifest.xml file between the “<application> </application>” tag like below.
XML
< application > < meta-data android:name = "com.google.android.gms.ads.APPLICATION_ID" android:value = "@string/admob_app_id" /> </ application > |
Add the following code to MainActivity to initialize Mobile Ads SDK (this only needs to be done once in the app lifecycle). You can find the App ID in the AdMob console.
Java
import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import com.google.android.gms.ads.MobileAds; import com.google.android.gms.ads.initialization.InitializationStatus; import com.google.android.gms.ads.initialization.OnInitializationCompleteListener; public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Initialize the Mobile Ads SDK MobileAds.initialize( this , new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { Toast.makeText( this , " successful " , Toast.LENGTH_SHORT).show(); } }); } } |
Add the highlighted code to activity_main.xml to show the banner ad.
activity_main.xml file:
XML
<? xml version = "1.0" encoding = "utf-8" ?> < RelativeLayout xmlns:android = android:layout_width = "match_parent" android:layout_height = "match_parent" tools:context = ".MainActivity" > <!-- set Banner ad position in UI layout design --> < com.google.android.gms.ads.AdView android:id = "@+id/adView" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_centerHorizontal = "true" android:layout_alignParentBottom = "true" ads:adSize = "BANNER" ads:adUnitId = "@string/admob_banner_id" > </ com.google.android.gms.ads.AdView > </ RelativeLayout > |
Add the highlighted code to Main Activity to show Banner Ad.
MainActivity.java file:
Java
import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import com.google.android.gms.ads.MobileAds; import com.google.android.gms.ads.initialization.InitializationStatus; import com.google.android.gms.ads.initialization.OnInitializationCompleteListener; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Initialize the Mobile Ads SDK MobileAds.initialize( this , new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { Toast.makeText( this , " successful " , Toast.LENGTH_SHORT).show(); } }); AdView mAdView; mAdView = findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); } } |
Add the Admob App Id and Banner Ad Id to string.xml.
strings.xml file:
XML
<? xml version = "1.0" encoding = "utf-8" ?> < resources > < string name = "admob_app_id" > ca-app-pub-3940256099942544~3347511713</ string > < string name = "admob_banner_id" > ca-app-pub-3940256099942544/6300978111</ string > </ resources > |
Please Login to comment...