我正在我的应用中实施非页内广告。我正在片段中加载广告并在按钮点击时显示它,并从片段中的'onAdClosed()'列表器上启动一个活动。
这是我的代码: -
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(---, ---);
// loading ad
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;
}
}
除了我每次点击按钮并且广告显示我收到这些警告时,一切都运转正常: -
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)
我在stackoverflow和google上搜索了一些帮助,但没有发现任何涉及我的问题的问题。任何帮助表示赞赏。