Поскольку я применил mInterstitial = null
к уничтожению - в журнале по-прежнему не возникает ошибка.
Как правильно уничтожить mInterstitial
? нет mInterstitial.Destroy
.
mInterstitial = null
достаточно?
Ошибка началась с того момента, как я интегрировал объявления Unity.
10-06 09:21: 20,761 3310-4585 /? E / Ads: Невозможно вызвать javascript java.lang.NullPointerException: Попытка вызвать метод интерфейса 'org.json.JSONObject com.google.android.gms.internal.ads.zzaiq.zzj (java.lang.Object)' для нулевого значенияссылка на объект на com.google.android.gms.internal.ads.zzaiy.zza (com.google.android.gms: play-services-ads @@ 18.2.0: 6) на com.google.android.gms.internal.ads.zzajb.zzh (com.google.android.gms: play-services-ads @@ 18.2.0: 3) по адресу com.google.android.gms.internal.ads.zzaye.onSuccess (com.google.android.gms: play-services-ads @@ 18.2.0: 1) по адресу com.google.android.gms.internal.ads.zzdda.run (com.google.android.gms: play-services-ads @@ 18.2. 0: 2) на com.google.android.gms.internal.ads.zzdcq.execute (com.google.android.gms: play-services-ads @@ 18.2.0: 1) на com.google.android.gms.internal.ads.zzaxs.execute (com.google.android.gms: play-services-ads @@ 18.2.0: 1) на com.google.android.gms.internal.ads.zzdby.zza (com.google.android.gms: play-services-ads @@ 18.2.0: 39) на com.google.android.gms.internal.ads.zzdby.addListener (com.google.android.gms: play-services-ads @@ 18.2.0: 11) на com.google.android.gms.internal.ads.zzaxv.addListener (com.google.android.gms: play-services-ads @)@ 18.2.0: 1) на androidx.transition.ViewGroupUtilsApi18.zza (ViewGroupUtilsApi18.java:449) на com.google.android.gms.internal.ads.zzaiy.zzi (com.google.android.gms: play-services-ads @@ 18.2.0: 7) по адресу com.google.android.gms.ads.internal.zzd.zza (com.google.android.gms: play-services-ads @@ 18.2.0: 30) по адресу.google.android.gms.ads.internal.zzd.zza (com.google.android.gms: play-services-ads @@ 18.2.0: 39) по адресу com.google.android.gms.internal.ads.zzbmd. .zzb (com.google.android.gms: play-services-ads @@ 18.2.0: 7) по адресу com.google.android.gms.internal.ads.zzbpa.zzp (com.google.android.gms: play). -services-ads @@ 18.2.0: 2) на com.google.android.gms.internal.ads.zzbpl.run (com.google.android.gms: play-services-ads @@ 18.2.0: 2)на com.google.android.gms.internal.ads.zzdcq.execute (com.google.android.gms: play-services-ads @@ 18.2.0: 1) на com.google.android.gms.internal.ads.zzaxs.execute (com.google.android.gms: play-services-ads @@ 18.2.0: 1) на com.google.android.gms.internal.ads.zzbpm.zza (com.google.android.gms: play-services-ads @)@ 18.2.0: 8) на com.google.android.gms.internal.ads.zzbox.zzb (com.google.android.gms: play-services-ads @@ 18.2.0: 1) на com.google. android.gms.internal.ads.zzcdr.zzf (com.google.android.gms: play-services-ads @@ 18.2.0: 2) по адресу com.google.android.gms.internal.ads.zzdcd.zzc (com.google.android.gms: play-services-ads @@ 18.2.0: 2) на com.google.android.gms.internal.ads.zzdca.run (com.google.android.gms: play-services-ads @@ 18.2.0: 9) на com.google.android.gms.internal.ads.zzddm.run (com.google.android.gms: play-services-ads @@ 18.2.0: 2) на Java. util.concurrent. 06 09: 21: 21.011 3310-3310 /? E / ViewSystem: ViewRootImpl # 2 Поверхность недействительна.
10-06 09: 23: 11.711 3310-4793 /? E / Ads: Невозможно вызвать javascript java.lang.NullPointerException: Попытка вызвать метод интерфейса 'org.json.JSONObject com.google.android.gms.internal.ads.zzaiq.zzj (java.lang.Object)' для нулевого значенияссылка на объектна com.google.android.gms.internal.ads.zzaiy.zza (com.google.android.gms: play-services-ads @@ 18.2.0: 6) на com.google.android.gms.internal.ads.zzajb.zzh (com.google.android.gms: play-services-ads @@ 18.2.0: 3) на com.google.android.gms.internal.ads.zzaye.onSuccess (com.google.android.gms: play-services-ads @@ 18.2.0: 1) на com.google.android.gms.internal.ads.zzdda.run (com.google.android.gms: play-services-ads @@ 18.2.0:2) на com.google.android.gms.internal.ads.zzdcq.execute (com.google.android.gms: play-services-ads @@ 18.2.0: 1) на com.google.android.gms.internal.ads.zzaxs.execute (com.google.android.gms: play-services-ads @@ 18.2.0: 1) на com.google.android.gms.internal.ads.zzdby.zza (com.google.android.gms: play-services-ads @@ 18.2.0: 39) по адресу com.google.android.gms.internal.ads.zzdby.addListener (com.google.android.gms: play-services-ads @@ 18.2. 0:11) на com.google.android.gms.internal.ads.zzaxv.addListener (com.google.android.gms: play-services-ads @@ 18.2.0: 1) на androidx.transition.ViewGroupUtilsApi18.zza(ViewGroupUtilsApi18.java:449) на com.google.android.gms.internal.ads.zzaiy.zzi (com.google.android.gms: play-services-ads @@ 18.2.0: 7) на com.google.android.gms.ads.internal.zzd.zza (com.google.android.gms: play-services-ads @@ 18.2.0: 30) на com.google.android.gms.ads.internal.zzd.zza (com.google.android.gms: play-services-ads @@ 18.2.0: 39) на com.google.android.gms.internal.ads.zzbmd.zzb (com.google.android.gms: play-services-ads@@ 18.2.0: 7) на com.google.android.gms.internal.ads.zzbpa.zzp (com.google.android.gms: play-services-ads @@ 18.2.0: 2) на com.google. .android.gms.internal.ads.zzbpl.run (com.google.android.gms: play-services-ads @@ 18.2.0: 2) на com.google.android.gms.internal.ads.zzdcq.execute(com.google.android.gms: play-services-ads @@ 18.2.0: 1) на com.google.android.gms.internal.ads.zzaxs.execute (com.google.android.gms: play-services-ads @@ 18.2.0: 1) по адресу com.google.android.gms.internal.ads.zzbpm.zza (com.google.android.gms: play-services-ads @@ 18.2.0: 8) по адресу.google.android.gms.internal.ads.zzbox.zzb (com.google.android.gms: play-services-ads @@ 18.2.0: 1) по адресу com.google.android.gms.internal.ads.zzcdr.zzf (com.google.android.gms: play-services-ads @@ 18.2. 0: 2) на com.google.android.gms.internal.ads.zzdcd.zzc (com.google.android.gms: play-services-ads @@ 18.2.0: 2) на com.google.android.gms.internal.ads.zzdca.run (com.google.android.gms: play-services-ads @@ 18.2.0: 9) на com.google.android.gms.internal.ads.zzddm.run (com.google.android.gms: play-services-ads @@ 18.2.0: 2) по адресу java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113) по адресу java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor. java: 588) at java.lang.Thread.run (Thread.java:818) 10-06 09: 23: 13.331 3310-3310 /? E / UnityMediationAdapter: объявление уже загружается для идентификатора места размещения: admobInterstitialID 10-06 09: 23: 13.331 3310-3310 /? E / UnityMediationAdapter: не удалось загрузить промежуточную рекламу из Unity Ads: INTERNAL_ERROR 10-06 09: 23: 13.451 3310-3389 /? E / chromium: [ОШИБКА: tile_manager.cc (779)] ВНИМАНИЕ: превышен лимит памяти тайлов, часть содержимого может не отображаться
Это мой код:
mAdView = findViewById(R.id.ad_view);
RequestConfiguration conf = MobileAds.getRequestConfiguration().toBuilder()
.setTagForChildDirectedTreatment(TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE)
.setTagForUnderAgeOfConsent(TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE)
.setMaxAdContentRating(MAX_AD_CONTENT_RATING_G)
.build();
MobileAds.setRequestConfiguration(conf);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-xxxxxxxxxxxx/xxxxxxxxx");
mInterstitialAd.setAdListener(new AdListener()
{
@Override
public void onAdLoaded()
{
//log interstitial loaded
}
@Override
public void onAdFailedToLoad(int errorCode)
{
Log.d(TAG, "onAdFailedToLoad : errorcode : " + String.valueOf(errorCode));
super.onAdFailedToLoad(errorCode);
}
@Override
public void onAdClosed()
{
AdRequest adRequest = new AdRequest.Builder().build();
mInterstitialAd.loadAd(adRequest);
// Ad interstitialAd reLoaded
Log.d(TAG, "Ad interstitialAd reLoaded");
super.onAdClosed();
}
});
mInterstitialAd.loadAd(new AdRequest.Builder().build());
@Override protected void onDestroy() {
super.onDestroy();
try {
if (mAdView != null) {
mAdView.setAdListener(null);
if (adscontainerWait != null)
adscontainerWait.removeAllViews();
mAdView.destroy();
}
mInterstitialAd = null;
} catch (Exception ex) {
Log.d(TAG, ex.toString());
}
}