Объявление interstitial.show(), выдающее нулевой указатель, аварийно завершает работу в магазине Google Play.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Объявление interstitial.show(), выдающее нулевой указатель, аварийно завершает работу в магазине Google Play.

Сообщение Anonymous »



Изображение
In Open activity oncreate() I am calling my setAdmob() function to show a launch interstitial ad ,it working fine in my all devices we also tested in all version devices like android 9 10 13, no crashes recorded but when app is live on play store it crashing with error,

I am showing the ad and adding callback inside onadloaded but still it giving the same crash

how can I reproduce and fix it ?

Exception java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.ads.interstitial.InterstitialAd.show(android.app.Activity)' on a null object reference at com.colorsplashphoto.android.activity.OpenActivity$11$3.run (OpenActivity.java:949) at android.os.Handler.handleCallback (Handler.java:942) at android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loopOnce (Looper.java:240) at android.os.Looper.loop (Looper.java:351) at android.app.ActivityThread.main (ActivityThread.java:8377) at java.lang.reflect.Method.invoke at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:584) My setAdmob method
private void setAdmodAds() { AdRequest adRequest = new AdRequest.Builder().build(); InterstitialAd.load(this, INTERSTITIAL_AD_ID1, adRequest, new InterstitialAdLoadCallback() { @Override public void onAdLoaded(@NonNull InterstitialAd interstitialAd) { super.onAdLoaded(interstitialAd); if (!msharedPreferences.getBoolean("privacy_start_clicked",false)) { showLoadingAdDialog(); } interstitial = interstitialAd; interstitial.setOnPaidEventListener(new OnPaidEventListener() { @Override public void onPaidEvent(@NonNull AdValue adValue) { commonMethods.Paid_Ad_Impression(adValue,INTERSTITIAL_AD_ID1); commonMethods.Daily_Ads_Revenue(adValue); } }); Log.e("TAG", "onAdLoaded"); countdownStart = true; interstitial.setFullScreenContentCallback(new FullScreenContentCallback() { @Override public void onAdDismissedFullScreenContent() { // Called when fullscreen content is dismissed. //AppUtils.adDismissed = true; AppController.FULL_SCREEN_AD_SHOWNing = false; adLoadingLayout.setVisibility(View.GONE); if(loadingdialog!=null){ if(loadingdialog.isShowing()){ loadingdialog.dismiss(); } } interstitial = null; commonMethods.saveBoolean("privacy_start_clicked",false,context); Log.e("TAG", "onAdDismissedFullScreenContent"); } @Override public void onAdFailedToShowFullScreenContent(AdError adError) { // Called when fullscreen content failed to show. // AppUtils.adDismissed = true; AppController.FULL_SCREEN_AD_SHOWNing = false; if(loadingdialog!=null ){ if(loadingdialog.isShowing()){ loadingdialog.dismiss(); } } commonMethods.saveBoolean("privacy_start_clicked",false,context); adLoadingLayout.setVisibility(View.GONE); showLangScreen(); interstitial = null; Log.d("TAG", "onAdFailedToShowFullScreenContent"); } @Override public void onAdShowedFullScreenContent() { // Called when fullscreen content is shown. // Make sure to set your reference to null so you don't // show it a second time. AppController.FULL_SCREEN_AD_SHOWNing = true; Log.d("TAG", "onAdShowedFullScreenContent"); commonMethods.saveBoolean("privacy_start_clicked",false,context); new Handler().postDelayed(new Runnable() { @Override public void run() { if(loadingdialog!=null){ if(loadingdialog.isShowing()){ loadingdialog.dismiss(); } } adLoadingLayout.setVisibility(View.GONE); } }, 500); showLangScreen(); Log.d("TAG", "The ad was shown."); } }); new Handler().postDelayed(new Runnable() { @Override public void run() { if(interstitial!=null){ interstitial.show(OpenActivity.this); } } }, 1000); } @Override public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) { super.onAdFailedToLoad(loadAdError); // Log.e("TAG", " main ad failed"); Log.e("TAG", loadAdError.getMessage()); countdownStart = true; AppController.FULL_SCREEN_AD_SHOWNing = false; if(loadingdialog!=null){ if(loadingdialog.isShowing()){ loadingdialog.dismiss(); } } adLoadingLayout.setVisibility(View.GONE); interstitial = null; showLangScreen(); } }); }

Источник: https://stackoverflow.com/questions/781 ... play-store
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»