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;
}
});
}

