October 15, 2020
Admob implementation 2020
Welcome to our Blog. In this article, we will show you how to implement the necessary codes to monetize your Android app using simple Banner Ad.
Log into your Admob account and create a Banner Ad unit.
Test ID banner: ca-app-pub-1213976995211847/3070735258
build.gradle (app)
apply plugin: 'com.android.application' android { compileSdkVersion 29 defaultConfig { applicationId "com.xx.xxx" minSdkVersion 19 targetSdkVersion 29 multiDexEnabled true versionCode 4 versionName "4" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" android.defaultConfig.vectorDrawables.useSupportLibrary = true } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for errors in release builds, // but continue the build even when errors are found: abortOnError false } buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.2.1' implementation 'androidx.vectordrawable:vectordrawable-animated:1.1.0' implementation 'androidx.browser:browser:1.2.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.constraintlayout:constraintlayout:2.0.2' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.cardview:cardview:1.0.0' implementation 'com.google.android.gms:play-services-ads:19.4.0' implementation 'com.github.midorikocak:currency-picker-android:1.1.9' implementation 'com.google.android.gms:play-services-vision:20.1.2' testImplementation 'junit:junit:4.12' }
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zakasoft.pricelist"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".xxxxxxActivity" android:label="@string/app_name" android:screenOrientation="portrait"> <intent-filter android:label="@string/app_name"> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.google.android.gms.ads.AdActivity" /> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxx~xxxxxx" /> </application> </manifest>
private AdView mAdView; // for test ads start RequestConfiguration configuration = new RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("XXXX72F06F84F223BDEC5BFFE82C3596")).build(); MobileAds.setRequestConfiguration(configuration); // for test ads end MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { } }); mAdView = findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); mAdView.setAdListener(new AdListener() { @Override public void onAdLoaded() { super.onAdLoaded(); //Toast.makeText(getApplicationContext(), "loaded" ,Toast.LENGTH_SHORT).show(); } @Override public void onAdFailedToLoad(LoadAdError loadAdError) { super.onAdFailedToLoad(loadAdError); //Toast.makeText(getApplicationContext(), "failed" + loadAdError.toString() ,Toast.LENGTH_SHORT).show(); } });
Layout
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto" android:id="@+id/adView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" android:layout_marginBottom="8dp" android:layout_marginTop="8dp" ads:adSize="SMART_BANNER" ads:adUnitId="ca-app-pub-121397699521XXXX/307073XXXX"> </com.google.android.gms.ads.AdView> </LinearLayout>
private InterstitialAd mInterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAd; import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;
LoadInterstitialAd();
private void LoadInterstitialAd() { // for test ads start RequestConfiguration configuration = new RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("XXXX72F06F84F223BDEC5BFFE82C3596")).build(); MobileAds.setRequestConfiguration(configuration); // for test ads end MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { } }); //mAdView = findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); InterstitialAd.load(this,"ca-app-pub-XXXXXXX9942544/10XXXXX712", adRequest, new InterstitialAdLoadCallback() { @Override public void onAdLoaded(@NonNull InterstitialAd interstitialAd) { // The mInterstitialAd reference will be null until // an ad is loaded. mInterstitialAd = interstitialAd; Log.i("hh", "onAdLoaded"); mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){ @Override public void onAdDismissedFullScreenContent() { // Called when fullscreen content is dismissed. Log.d("TAG", "The ad was dismissed."); } @Override public void onAdFailedToShowFullScreenContent(AdError adError) { // Called when fullscreen content failed to show. Log.d("TAG", "The ad failed to show."); } @Override public void onAdShowedFullScreenContent() { // Called when fullscreen content is shown. // Make sure to set your reference to null so you don't // show it a second time. mInterstitialAd = null; Log.d("TAG", "The ad was shown."); } }); } @Override public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) { // Handle the error Log.i("hgh", loadAdError.getMessage()); mInterstitialAd = null; } }); }