string........................add
<resources>
<string name="app_name">My Application</string>
<!-- Admob AD ON or OFF -->
<string name="show_admob_ad">ON</string>
<!-- Device ID setTestDeviceIds (search on logcat for device id) -->
<string name="device_id">ABCD</string>
<!-- Admob APP ID HERE -->
<string name="admob_APP_ID">ca-app-pub-3940256099942544~3347511713</string>
<!-- Admob Ad Unit IDS Here -->
<string name="admob_INTERSTITIAL_UNIT_ID">ca-app-pub-3940256099942544/1033173712</string>
<string name="admob_BANNER_UNIT_ID">ca-app-pub-3940256099942544/6300978111</string>
</resources>
_____________________________________________________________________________________________
dependencies..................add
//admob
implementation 'com.google.android.gms:play-services-ads:20.5.0'
___________________________________________________________________________________________________
manifest............................add
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="@string/admob_APP_ID" />
____________________________________________________________________________
activity_main..........................add
<Button
android:id="@+id/bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="butttom" />
<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"
ads:adSize="BANNER"
ads:adUnitId="@string/admob_BANNER_UNIT_ID">
</com.google.android.gms.ads.AdView>
_________________________________________________________________
MainActivity......................add
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.FullScreenContentCallback;
import com.google.android.gms.ads.LoadAdError;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.RequestConfiguration;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;
import java.util.Arrays;
import java.util.List;
public class MainActivity extends AppCompatActivity {
AdView mAdView;
Button bottom;
public static int CategoryClicked = -10;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAdView = findViewById(R.id.adView);
bottom = findViewById(R.id.bottom);
mAdView.setVisibility(View.GONE);
if (getString(R.string.show_admob_ad).contains("ON")){
initAdmobAd();
loadBannerAd();
loadFullscreenAd();
}
bottom.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent myinten = new Intent(MainActivity.this,MainActivity2.class);
startActivity(myinten);
//We are tracking the category postion. So that we can call the intent after ad loads
if (mInterstitialAd==null){
startActivity(new Intent(MainActivity.this, MainActivity2.class));
}else{
mInterstitialAd.show(MainActivity.this);
}
}
});
}
int BANNER_AD_CLICK_COUNT =0;
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
private void loadBannerAd(){
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
if (BANNER_AD_CLICK_COUNT >=3){
if(mAdView!=null) mAdView.setVisibility(View.GONE);
}else{
if(mAdView!=null) mAdView.setVisibility(View.VISIBLE);
}
}
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
BANNER_AD_CLICK_COUNT++;
if (BANNER_AD_CLICK_COUNT >=3){
if(mAdView!=null) mAdView.setVisibility(View.GONE);
}
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
});
}
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// loadFullscreenAd method starts here.....
InterstitialAd mInterstitialAd;
private void loadFullscreenAd(){
//Requesting for a fullscreen Ad
AdRequest adRequest = new AdRequest.Builder().build();
InterstitialAd.load(this,getString(R.string.admob_INTERSTITIAL_UNIT_ID), adRequest, new InterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// The mInterstitialAd reference will be null until
// an ad is loaded.
mInterstitialAd = interstitialAd;
//Fullscreen callback || Requesting again when an ad is shown already
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
@Override
public void onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
//User dismissed the previous ad. So we are requesting a new ad here
loadFullscreenAd();
if (CategoryClicked>=0){
startActivity(new Intent(MainActivity.this, MainActivity2.class));
}
}
}); // FullScreen Callback Ends here
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
mInterstitialAd = null;
}
});
}
// loadFullscreenAd method ENDS here..... >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
private void initAdmobAd(){
if (getString(R.string.device_id).length()>12){
//Adding your device id -- to avoid invalid activity from your device
List<String> testDeviceIds = Arrays.asList(getString(R.string.device_id));
RequestConfiguration configuration =
new RequestConfiguration.Builder().setTestDeviceIds(testDeviceIds).build();
MobileAds.setRequestConfiguration(configuration);
}
//Init Admob Ads
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
}
}