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>

Add a Comment

Your email address will not be published. Required fields are marked *