I am using Interstitial Ads in my application. I load the advertisements inside the fragment and show it with the click of a button and begin work on the "onAdClosed ()" list from the fragment.
Here is my code: -
public View onCreateView(....){
mInterstitialAd = new InterstitialAd(getActivity());
mInterstitialAd.setAdUnitId(mContext.getString(R.string.admob_ad_unit_id_full_screen));
mInterstitialAd.loadAd(new AdRequest.Builder().
addTestDevice("XX_DEVICE_ID").
build());
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
if(condition)
startactivity(---, ---);
mInterstitialAd.loadAd(new AdRequest.Builder().
addTestDevice("XX_DEVICE_ID").
build());
}
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.mybutton:
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
startactivity(---, ---);
}
break;
}
}
Everything works fine, except that every time I click on the button and an ad is shown, I get these warnings: -
W/Ads: Invoke Firebase method getCurrentScreenClass error.
java.lang.NoSuchMethodException: getCurrentScreenClass []
at java.lang.Class.getMethod(Class.java:624)
at java.lang.Class.getDeclaredMethod(Class.java:586)
at com.google.android.gms.ads.internal.scionintegration.b.f(:com.google.android.gms.DynamiteModulesA:124)
at com.google.android.gms.ads.internal.scionintegration.b.e(:com.google.android.gms.DynamiteModulesA:31)
at com.google.android.gms.ads.internal.ak.L(:com.google.android.gms.DynamiteModulesA:108)
at com.google.android.gms.ads.internal.client.ak.onTransact(:com.google.android.gms.DynamiteModulesA:63)
at android.os.Binder.transact(Binder.java:387)
at com.google.android.gms.internal.zzep$zza$zza.showInterstitial(Unknown Source)
at com.google.android.gms.internal.zzfa.show(Unknown Source)
at com.google.android.gms.ads.InterstitialAd.show(Unknown Source)
at com.subinfra.Fragment.EditProfile.onClick(EditProfile.java:245)
at android.view.View.performClick(View.java:5207)
at android.view.View$PerformClick.run(View.java:21177)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5438)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
W/Ads: Invoke Firebase method getCurrentScreenName error.
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])' on a null object reference
at com.google.android.gms.ads.internal.scionintegration.b.e(:com.google.android.gms.DynamiteModulesA:32)
at com.google.android.gms.ads.internal.ak.L(:com.google.android.gms.DynamiteModulesA:108)
at com.google.android.gms.ads.internal.client.ak.onTransact(:com.google.android.gms.DynamiteModulesA:63)
at android.os.Binder.transact(Binder.java:387)
at com.google.android.gms.internal.zzep$zza$zza.showInterstitial(Unknown Source)
at com.google.android.gms.internal.zzfa.show(Unknown Source)
at com.google.android.gms.ads.InterstitialAd.show(Unknown Source)
at com.subinfra.Fragment.EditProfile.onClick(EditProfile.java:245)
at android.view.View.performClick(View.java:5207)
at android.view.View$PerformClick.run(View.java:21177)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5438)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
I was looking for help in stackoverflow and google, but did not find any questions related to my problem. Any help is appreciated.
source
share