build.gradle(Module:app)
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android { compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {applicationId "com.dreamgarden.testads"
// (Your App package Name)
minSdkVersion 16
targetSdkVersion 29
multiDexEnabled true
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes { release { minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
'proguard-rules.pro'
} }
}
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
//Firebase
implementation 'com.google.firebase:firebase-ads:19.0.1'
//implementation 'com.google.firebase:firebase-core:19.0.1'
implementation 'com.google.firebase:firebase-auth:19.3.0'
implementation 'com.google.firebase:firebase-database:19.2.1'
implementation 'com.google.firebase:firebase-storage:19.1.1'
implementation 'com.google.firebase:firebase-messaging:20.1.5'
// Admob
implementation 'com.google.android.gms:play-services-ads:19.1.0'
//Multidex
implementation 'com.android.support:multidex:1.0.3'
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.dreamgarden.testads"> <!-- (Your App package Name)-->
<uses-permission android:name="android.permission.INTERNET" />
<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=".RewardedActivity"></activity>
<activity android:name=".NativeActivity" />
<activity android:name=".TestNuman" />
<activity android:name=".VideoAds" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713" />
</application>
</manifest>
MainActivity.java
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
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.InterstitialAd;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DatabaseReference;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class MainActivity extends AppCompatActivity {
private InterstitialAd mInterstitialAd;
private Button IndBTN,VideoBTN,mNativeAd,mRewardedAds,mTestNumanActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
IndBTN = findViewById(R.id.InsAd);
VideoBTN = findViewById(R.id.Video);
mTestNumanActivity = findViewById(R.id.TestNumanActivity);
mNativeAd = findViewById(R.id.NativeAd);
mRewardedAds = findViewById(R.id.RewardedAds);
prepaperAD();
mTestNumanActivity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, TestNuman.class));
}
});
VideoBTN.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, VideoAds.class));
}
});
mNativeAd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, NativeActivity.class));
}
});
mRewardedAds.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, RewardedActivity.class));
}
});
IndBTN.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}else {
Toast.makeText(MainActivity.this,
"Interstitial Ads Not Load",Toast.LENGTH_LONG).show();
}
prepaperAD();
}
});
AdView adView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
//Ads Timer
/*
ScheduledExecutorService scheduledExecutorService =
Executors.newSingleThreadScheduledExecutor();
scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (mInterstitialAd.isLoaded()){
mInterstitialAd.show();
}else{
Log.d("TAG","InterstitialAd Not Loaded" );
}
prepaperAD();
}
});
}
},20,20, TimeUnit.SECONDS);
*/
}
public void prepaperAD(){
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId(getString(R.string.InterstitialAdID));
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
//BackPress
@Override
public void onBackPressed() {
if (mInterstitialAd.isLoaded()){
mInterstitialAd.show();
mInterstitialAd.setAdListener(new AdListener(){
@Override
public void onAdClosed() {
super.onAdClosed();
finish();
}
});
}
else {
super.onBackPressed();}
}
}
// End MainActivity.java
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
ads:adSize="BANNER"
ads:adUnitId="@string/BannerAdID"/>
<TextView
android:id="@+id/todatads"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@+id/adView"
android:text="Today's Ad's:"
android:textColor="@color/colorPrimary"
android:textSize="25sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/todatads"
android:layout_gravity="center"
android:orientation="horizontal"
android:padding="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="Current Balance: "
android:textColor="@color/colorPrimary"
android:textSize="25sp" />
<TextView
android:id="@+id/balance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#0C0902"
android:hint="0.00"
android:textSize="25sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="Rs. "
android:textColor="#BC1206"
android:textSize="25sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:layout_below="@+id/linearLayout1">
<Button
android:id="@+id/Video"
android:layout_width="250dp"
android:layout_height="80dp"
android:textStyle="bold"
android:text="InterstitialAd And Banner With Firebase" />
<Button
android:id="@+id/InsAd"
android:layout_width="250dp"
android:layout_height="80dp"
android:textStyle="bold"
android:text="InterstitialAd Ad Show" />
<Button
android:id="@+id/TestNumanActivity"
android:layout_width="250dp"
android:layout_height="80dp"
android:textStyle="bold"
android:text="InterstitialAd And Banner With Firebase ,Timer Or Back press" />
<Button
android:id="@+id/NativeAd"
android:layout_width="250dp"
android:layout_height="80dp"
android:textStyle="bold"
android:textSize="14dp"
android:text="Native Ads Activity"/>
<Button
android:id="@+id/RewardedAds"
android:layout_width="250dp"
android:layout_height="80dp"
android:textStyle="bold"
android:textSize="14dp"
android:text="Rewarded Ads Activity"/>
</LinearLayout>
</RelativeLayout>
NativeActivity.java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.gms.ads.AdLoader;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.formats.MediaView;
import com.google.android.gms.ads.formats.UnifiedNativeAd;
import com.google.android.gms.ads.formats.UnifiedNativeAdView;
public class NativeActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_native);
MobileAds.initialize(this);
AdLoader adLoader = new AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
.forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() {
@Override
public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) {
//the native ad will be available inside this method (unifiedNativeAd)
UnifiedNativeAdView unifiedNativeAdView = (UnifiedNativeAdView) getLayoutInflater().inflate(R.layout.native_ad_layout, null);
mapUnifiedNativeAdToLayout(unifiedNativeAd, unifiedNativeAdView);
FrameLayout nativeAdLayout = findViewById(R.id.id_native_ad);
nativeAdLayout.removeAllViews();
nativeAdLayout.addView(unifiedNativeAdView);
}
})
.build();
adLoader.loadAd(new AdRequest.Builder().build());
}
public void mapUnifiedNativeAdToLayout(UnifiedNativeAd adFromGoogle, UnifiedNativeAdView myAdView) {
MediaView mediaView = myAdView.findViewById(R.id.ad_media);
myAdView.setMediaView(mediaView);
myAdView.setHeadlineView(myAdView.findViewById(R.id.ad_headline));
myAdView.setBodyView(myAdView.findViewById(R.id.ad_body));
myAdView.setCallToActionView(myAdView.findViewById(R.id.ad_call_to_action));
myAdView.setIconView(myAdView.findViewById(R.id.ad_icon));
myAdView.setPriceView(myAdView.findViewById(R.id.ad_price));
myAdView.setStarRatingView(myAdView.findViewById(R.id.ad_rating));
myAdView.setStoreView(myAdView.findViewById(R.id.ad_store));
myAdView.setAdvertiserView(myAdView.findViewById(R.id.ad_advertiser));
((TextView) myAdView.getHeadlineView()).setText(adFromGoogle.getHeadline());
if (adFromGoogle.getBody() == null) {
myAdView.getBodyView().setVisibility(View.GONE); } else {
((TextView) myAdView.getBodyView()).setText(adFromGoogle.getBody()); }
if (adFromGoogle.getCallToAction() == null) {
myAdView.getCallToActionView().setVisibility(View.GONE); } else {
((Button) myAdView.getCallToActionView()).setText(adFromGoogle.getCallToAction()); }
if (adFromGoogle.getIcon() == null) {
myAdView.getIconView().setVisibility(View.GONE); } else {
((ImageView) myAdView.getIconView()).setImageDrawable(adFromGoogle.getIcon().getDrawable()); }
if (adFromGoogle.getPrice() == null) {
myAdView.getPriceView().setVisibility(View.GONE); } else {
((TextView) myAdView.getPriceView()).setText(adFromGoogle.getPrice()); }
if (adFromGoogle.getStarRating() == null) {
myAdView.getStarRatingView().setVisibility(View.GONE); } else {
((RatingBar) myAdView.getStarRatingView()).setRating(adFromGoogle.getStarRating().floatValue()); }
if (adFromGoogle.getStore() == null) {
myAdView.getStoreView().setVisibility(View.GONE); } else {
((TextView) myAdView.getStoreView()).setText(adFromGoogle.getStore()); }
if (adFromGoogle.getAdvertiser() == null) {
myAdView.getAdvertiserView().setVisibility(View.GONE); } else {
((TextView) myAdView.getAdvertiserView()).setText(adFromGoogle.getAdvertiser()); }
myAdView.setNativeAd(adFromGoogle); }
}
activity_native.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#8A44A3"
tools:context=".NativeActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="150dp"
android:layout_height="100dp"
android:layout_gravity="center_horizontal"
android:scaleType="fitXY"
android:padding="10dp"
android:src="@drawable/ic_launcher_background" />
<FrameLayout
android:id="@+id/id_native_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</FrameLayout>
<ImageView
android:layout_width="150dp"
android:layout_height="100dp"
android:padding="10dp"
android:layout_gravity="center_horizontal"
android:scaleType="fitXY"
android:src="@drawable/ic_launcher_background" />
</LinearLayout>
</ScrollView>
RewardedActivity.java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.rewarded.RewardItem;
import com.google.android.gms.ads.rewarded.RewardedAd;
import com.google.android.gms.ads.rewarded.RewardedAdCallback;
import com.google.android.gms.ads.rewarded.RewardedAdLoadCallback;
public class RewardedActivity extends AppCompatActivity {
RewardedAd rewardedAd;
Button videoButton;
TextView adTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rewarded);
videoButton = findViewById(R.id.ad_video_button);
adTextView = findViewById(R.id.ad_text);
rewardedAd = new RewardedAd(this, "ca-app-pub-3940256099942544/5224354917");
rewardedAd.loadAd(new AdRequest.Builder().build(), new RewardedAdLoadCallback() {
@Override
public void onRewardedAdLoaded() {
super.onRewardedAdLoaded();
videoButton.setVisibility(View.VISIBLE);
}
});
videoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
displayAd();
}
});
}
public void displayAd() {
rewardedAd.show(this, new RewardedAdCallback() {
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
videoButton.setVisibility(View.INVISIBLE);
adTextView.setText("1 available"); }
}); }
}
activity_rewarded.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ddd"
tools:context=".RewardedActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Magic Ruby"
android:textColor="#ff0088"
android:textSize="40sp" />
<ImageView
android:layout_width="170dp"
android:layout_height="170dp"
android:layout_gravity="center"
android:src="@drawable/ic_launcher_background" />
<TextView
android:id="@+id/ad_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="0 available"
android:textColor="#333"
android:textSize="30sp" />
<Button
android:id="@+id/ad_video_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="20dp"
android:background="#2288FF"
android:padding="10dp"
android:text="Watch Video for 1 Ruby"
android:textColor="#fff"
android:visibility="invisible" />
</LinearLayout>
</RelativeLayout>
TestNuman.javj
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class TestNuman extends AppCompatActivity {
AdView mAdview;
FirebaseAuth mAuth;
DatabaseReference mDatabase;
private InterstitialAd mInterstitialAd;
private Button mInsBtn;
String bannerid;
String InterstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_testnuman);
mAuth = FirebaseAuth.getInstance();
mDatabase = FirebaseDatabase.getInstance().getReference();
BannerAds(); mInsBtn =(Button)findViewById(R.id.InsBtn);
mInsBtn.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
if (mInterstitialAd.isLoaded()){
mInterstitialAd.show();
Toast.makeText(TestNuman.this,"Interstitial Ads Button Clickd",Toast.LENGTH_LONG).show(); }
else {
Toast.makeText(TestNuman.this,"Interstitial Ads Not Load",Toast.LENGTH_LONG).show(); }
}
});
ScheduledExecutorService scheduledExecutorService =
Executors.newSingleThreadScheduledExecutor();
scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
@Override public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (mInterstitialAd.isLoaded()){
mInterstitialAd.show();
}else{
Log.d("TAG","InterstitialAd Not Loaded" ); }
prepaperAD();
}
}); }
},55,55, TimeUnit.SECONDS);
}
public void BannerAds(){
DatabaseReference roofRef = FirebaseDatabase.getInstance().getReference().child("Adunits");
roofRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
bannerid = String.valueOf(dataSnapshot.child("banner").getValue().toString());
InterstitialAd = String.valueOf(dataSnapshot.child("InterstitialID").getValue().toString());
prepaperAD();
View view = findViewById(R.id.rlbanner);
mAdview = new AdView(TestNuman.this);
mAdview.setAdSize(AdSize.BANNER);
((RelativeLayout) view).addView(mAdview);
mAdview.setAdUnitId(bannerid);
AdRequest adRequest = new AdRequest.Builder().build();
mAdview.loadAd(adRequest);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
}); }
public void prepaperAD(){
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId(InterstitialAd);
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
@Override
public void onBackPressed() {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
finish();
}
});
} else {
super.onBackPressed(); }
}
}
activity_testnuman.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".TestNuman">
<TextView
android:id="@+id/tstView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="25dp"
android:layout_marginLeft="150dp"
android:layout_marginTop="299dp"
android:text="Firebase Auto"
android:textSize="25dp"
android:textStyle="bold" />
<Button
android:id="@+id/InsBtn"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_below="@+id/tstView"
android:layout_centerInParent="true"
android:layout_marginTop="10dp"
android:text=" InterstitialAd And Banner With Firebase ,Timer Or Back press"
android:textSize="20dp" />
<RelativeLayout
android:id="@+id/rlbanner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerInParent="true">
</RelativeLayout>
<RelativeLayout
android:id="@+id/rlnative"
android:layout_below="@+id/rlbanner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerInParent="true">
</RelativeLayout>
</RelativeLayout>
VideoAds.java
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 android.widget.RelativeLayout;
import android.widget.Toast;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class VideoAds extends AppCompatActivity {
AdView mAdview;
FirebaseAuth mAuth;
DatabaseReference mDatabase;
private InterstitialAd mInterstitialAd;
private Button mInsBtn,mnextBtn;
String bannerid;
String InterstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activityvideoads);
mAuth = FirebaseAuth.getInstance();
mDatabase = FirebaseDatabase.getInstance().getReference();
BannerAds();
mInsBtn =(Button)findViewById(R.id.InsBtn);
mInterstitialAd = new InterstitialAd(this);
}
public void BannerAds(){
DatabaseReference roofRef = FirebaseDatabase.getInstance().getReference().child("Adunits");
roofRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
bannerid = String.valueOf(dataSnapshot.child("banner").getValue().toString());
InterstitialAd = String.valueOf(dataSnapshot.child("InterstitialID").getValue().toString());
mInterstitialAd.setAdUnitId(InterstitialAd);
mInterstitialAd.loadAd(new AdRequest.Builder().build());
mInsBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mInterstitialAd.loadAd(new AdRequest.Builder().build());
//mInterstitialAd.loadAd(new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build());
if(mInterstitialAd.isLoaded()){
mInterstitialAd.show();
}else {
Toast.makeText(VideoAds.this,"Interstitial Ads Not Load",Toast.LENGTH_LONG).show();
}
}
});
View view = findViewById(R.id.rlbanner);
mAdview = new AdView(VideoAds.this);
mAdview.setAdSize(AdSize.BANNER);
((RelativeLayout) view).addView(mAdview);
mAdview.setAdUnitId(bannerid);
AdRequest adRequest = new AdRequest.Builder().build();
mAdview.loadAd(adRequest);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
activityvideoads.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".VideoAds">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:layout_marginTop="125dp"
android:layout_marginLeft="150dp"
android:textSize="20dp"
android:text="Video Activity"/>
<Button
android:id="@+id/InsBtn"
android:layout_width="250dp"
android:layout_height="100dp"
android:layout_centerInParent="true"
android:text="InterstitialAd Ads Show Link to FireBase"
android:textSize="20dp" />
<RelativeLayout
android:id="@+id/rlbanner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerInParent="true">
</RelativeLayout>
</RelativeLayout>
Only Layout
native_ad_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.gms.ads.formats.UnifiedNativeAdView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#000"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp">
<ImageView
android:id="@+id/ad_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginRight="20dp"
android:background="#fff" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/ad_headline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="headline"
android:textColor="#fff" />
<TextView
android:id="@+id/ad_advertiser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="advertiser"
android:textColor="#fff" />
<RatingBar
android:id="@+id/ad_rating"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="true"
android:numStars="5"
android:stepSize="0.5" />
</LinearLayout>
</LinearLayout>
<com.google.android.gms.ads.formats.MediaView
android:id="@+id/ad_media"
android:layout_width="match_parent"
android:layout_height="175dp"
android:background="#fff">
</com.google.android.gms.ads.formats.MediaView>
<TextView
android:id="@+id/ad_body"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:text="body of ad"
android:textColor="#fff" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:padding="10dp">
<TextView
android:id="@+id/ad_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="price"
android:textColor="#fff" />
<TextView
android:id="@+id/ad_store"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="store"
android:textColor="#fff" />
<Button
android:id="@+id/ad_call_to_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#fff"
android:text="Action"
android:textColor="#000" />
</LinearLayout>
</LinearLayout>
</com.google.android.gms.ads.formats.UnifiedNativeAdView>
strings.xml
<resources>
<string name="app_name">Your APP Name</string>
<string name="BannerAdID">ca-app-pub-3940256099942544/6300978111</string>
<string name="InterstitialAdID">ca-app-pub-3940256099942544/1033173712</string>
<string name="RewardedVideoAdID">ca-app-pub-3940256099942544/5224354917</string>
<string name="NativeAdID">ca-app-pub-3940256099942544/2247696110</string>
</resources>
0 Comments