【问题标题】:Admob Interstitial Ad not loading in Fragment in AndroidAdmob 插页式广告未在 Android 的 Fragment 中加载
【发布时间】:2018-10-18 17:40:10
【问题描述】:

我正在尝试在我的应用中集成 Admob SmartBanner 和插页式广告。 SmartBanner 工作正常,但未加载插页式广告。

在同一应用中集成 admob 横幅+插页式广告的正确代码是什么。

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_home, container, false);
    //------------------------------------------------------------------------------------------
    AdView mAdView = (AdView) rootView.findViewById(R.id.adView);
    final AdRequest.Builder request = new AdRequest.Builder()
            .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)        // All emulators
            .addTestDevice("1E085E6103A6876F42FC5183C73D98CB");//genymotion galaxy s5 4.4.4
    mAdView.loadAd(request.build());

    mInterstitialAd = new InterstitialAd(getActivity());
    mInterstitialAd.setAdUnitId(String.valueOf(R.string.banner_ad_unit_id));//("ca-app-pub-5059726881726792/4446999064");

    //final AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
    //adRequestBuilder.addTestDevice("1E085E6103A6876F42FC5183C73D98CB")//genymotion galaxy s5 4.4.4
    //        .addTestDevice("0B80CC732BD7E24CF42938649A17A7DA");//s3
    mInterstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            super.onAdLoaded();
        }
        @Override
        public void onAdClosed() {
            super.onAdClosed();
            mInterstitialAd.loadAd(request.build());
        }
    });
    mInterstitialAd.loadAd(request.build());
    if (mInterstitialAd.isLoaded()) {
        mInterstitialAd.show();
    }

【问题讨论】:

    标签: android admob


    【解决方案1】:

    通过您的代码,您可以在加载后立即展示插页式广告。

    在请求/加载广告后显示广告总是存在延迟(延迟)问题。

    因此,如果您的广告尚未加载,您将无法展示它。理想情况下,您应该在应用的自然断点处展示插页式广告。示例:从一项活动过渡到另一项活动时。但是,您可以修改代码以通过 #onCreateView 中的 #onAdLoaded 显示广告,如下所示:

            @Override
            public void onAdLoaded() {
                super.onAdLoaded();
                mInterstitialAd.show();
            }
    

    【讨论】:

    • com.google.android.gms:play-services-ads:11.0.4 对我有用
    • 检查if (mInterstitialAd.isLoaded()) 似乎是多余的,因为只有在广告确实已经加载后才会调用此回调方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多