(MoPub Ad Network) 尝试调用接口方法“onAdFailed”空指针异常

Posted

技术标签:

【中文标题】(MoPub Ad Network) 尝试调用接口方法“onAdFailed”空指针异常【英文标题】:(MoPub Ad Network) Attempt to invoke interface method "onAdFailed" Null Pointer Exception 【发布时间】:2020-11-08 17:17:34 【问题描述】:

我们已经使用 Mopub 6 个月来通过我们的应用获利。我们正在使用一种机制,如果它没有返回原生广告的广告,我们会从网络请求横幅广告。

最近我们看到一个关于横幅广告错误代码的空指针异常。由于网络无法加载广告,因此出现空指针异常。

从 crashlytics 中读取的 logcat :

com.mopub.mobileads.MoPubFullscreen.lambda$preRender$0 (MoPubFullscreen.java:182)
com.mopub.mobileads.-$$Lambda$MoPubFullscreen$3H3zkNFnaPQ4PqCgAa8VbWGmgJs.run (-.java:2)
android.os.Handler.handleCallback (Handler.java:883)
android.os.Handler.dispatchMessage (Handler.java:100)  

MoPub 库:5.13.0

我的代码:

    public void onNativeFail(NativeErrorCode errorCode) 
        if (errorCode != NativeErrorCode.CONNECTION_ERROR) 
                if (errorCode == NativeErrorCode.NETWORK_NO_FILL) 
                    CreateMoPubBannerAd(frameLayout);
                 else 
                    HandleAds(frameLayout); // Loads local ads created by ourselves
                
            
        
    

    public void CreateMoPubBannerAd(FrameLayout frameLayout) 

        if(frameLayout == null)
         frameLayout = findViewById(R.id.adContainerView_button);

        if(moPubView == null)
         moPubView = findViewById(R.id.mopub_banner); 

        moPubView.setLocalExtras(localExtras);
        moPubView.setAdUnitId(getString(R.string.twitter_banner_ad_unit_id));
        moPubView.loadAd();

        FrameLayout finalFrameLayout = frameLayout;
        moPubView.setBannerAdListener(new MoPubView.BannerAdListener() 
            @Override
            public void onBannerLoaded(@NonNull MoPubView banner) 
                if(adappName != null)
                adappName.setVisibility(View.GONE);
                moPubView.setVisibility(View.VISIBLE);
            

            @Override
            public void onBannerFailed(MoPubView banner, MoPubErrorCode errorCode) 
HandleAds(frameLayout); // Loads local ads created by ourselves

            @Override
            public void onBannerClicked(MoPubView banner)  

            @Override
            public void onBannerExpanded(MoPubView banner) 

            @Override
            public void onBannerCollapsed(MoPubView banner) 
        );
    

感谢您阅读本文,感谢您的帮助

【问题讨论】:

【参考方案1】:

MoPub SDK 5.13.1 仍然会出现此问题。 我发现此问题已在此处进行跟踪,并将在以后的版本中修复以供您参考。 https://github.com/mopub/mopub-android-sdk/issues/413

【讨论】:

以上是关于(MoPub Ad Network) 尝试调用接口方法“onAdFailed”空指针异常的主要内容,如果未能解决你的问题,请参考以下文章

如何在 android studio 中添加 Mopub 广告

MoPub 横幅广告

E11000 重复键错误收集:ad-network.users 索引:username_1 重复键: : null

将 Mopub 与 AdMob 中介集成

适用于 iOS 的 MoPub:插页式关闭按钮未显示

如何在 MoPub 中集成 Chartboost 中介?