【问题标题】:How to show an Interstitial in MainActivity?如何在 MainActivity 中显示插页式广告?
【发布时间】:2018-09-27 15:00:02
【问题描述】:

我希望每次用户访问 MainActivity 时都会出现一个插页式广告,但我不知道如何继续。 谢谢!!!

我的代码:

   public class MainActivity extends AppCompatActivity {

    InterstitialAd mInterstitialAd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // FIREBASE INTERSTICIAL
        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId("ca-app-pub-2565065222479596/5036943452");

        mInterstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdClosed() {

                requestNewInterstitial();
            }
        });

        requestNewInterstitial();


    // FIREBASE INTERSTICIAL
    private void requestNewInterstitial() {
        AdRequest adRequest = new AdRequest.Builder()
                .addTestDevice("SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID")
                .build();

        mInterstitialAd.loadAd(adRequest);
    }
}

【问题讨论】:

    标签: android admob interstitial


    【解决方案1】:

    问题是您从未在插页式广告中调用过.show()

    根据documentation

    插页式广告应在流程的自然停顿期间展示 的一个应用程序。一个游戏的关卡之间就是一个很好的例子,或者之后 用户完成一项任务。要显示插页式广告,请使用 isLoaded() 方法来验证它是否已完成加载,然后调用 show()。

    我不建议每次用户访问活动时都显示它。 注意:您的代码将加载并显示另一个插页式广告每次加载一个插页式广告 - 创建一个永无止境的插页式广告循环!

    public class MainActivity extends AppCompatActivity {
    
        InterstitialAd mInterstitialAd;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            // FIREBASE INTERSTITIAL
            mInterstitialAd = new InterstitialAd(this);
            mInterstitialAd.setAdUnitId("ca-app-pub-2565065222479596/5036943452");
    
            mInterstitialAd.setAdListener(new AdListener() {
                @Override
                public void onAdLoaded() {
                    // Code to be executed when an ad finishes loading.
                    mInterstitialAd.show(); // add this line to show.
                }
    
                @Override
                public void onAdClosed() {
                    // Code to be executed when the interstitial ad is closed.
                    requestNewInterstitial(); // never-ending loop of ads, avoid!!
                }
            });
    
            requestNewInterstitial();
        }
    
        // FIREBASE INTERSTITIAL
        private void requestNewInterstitial() {
            AdRequest adRequest = new AdRequest.Builder()
                    .addTestDevice("SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID")
                    .build();
    
            mInterstitialAd.loadAd(adRequest);
        }
    }
    

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多