【问题标题】:Admob Interstitial ad on Button Click按钮点击时的 Admob 插页式广告
【发布时间】:2021-04-17 23:58:01
【问题描述】:

我有一个应用程序,我正在使用 admob 横幅。现在我想在按钮点击时显示插页式广告。 我的应用程序有 2 个活动,我想在第二个活动上显示插页式广告。第二个活动有一个返回到第一个活动的按钮,我想在点击按钮后显示广告。我可以在点击按钮时显示广告,但是当用户关闭广告或按下后退按钮时,它仍停留在第二个活动上,这就是我面临的问题。

第二个活动代码:-

btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub


             if (interstitial.isLoaded()) {
                  interstitial.show();
                }
             else{

            Intent i = new Intent();
            i.setClass(SecondActivity.this, FirstActivity.class);
            startActivity(i);
            finish();
             }
        }
    });

}

我希望当用户点击按钮时应该看到广告,当他关闭广告时应该返回到第一个活动

【问题讨论】:

    标签: android admob


    【解决方案1】:

    您需要为您的interstitial 使用onAdClosed() 方法来识别用户何时关闭广告的AdListener,以便您可以将它们发送回您的第一个活动。

    您的interstitial 设置:

    // Create ad request
    adRequest = new AdRequest.Builder().build();
    // Attempt loading ad for interstitial
    interstitial.loadAd(adRequest);
    
    // Create and set AdListener for interstitial
    interstitial.setAdListener(new AdListener() {
        // Listen for when user closes ad
        public void onAdClosed() {
            // When user closes ad end this activity (go back to first activity)
            finish();
        }
    });
    

    还有你的btn(按钮)设置:

    // Create and set OnClickListener for button
    btn.setOnClickListener(new OnClickListener() {
        // Listen for when user presses button
        public void onClick(View v) {
            // If a interstitial is ready, show it
            if(interstitial.isLoaded()) {
                interstitial.show();
            }
            // Otherwise end this activity (go back to first activity)
            else {
                finish();
            }
        }
    });
    

    这样,如果用户点击按钮,它会:

    1. 准备好广告并展示它。等待用户关闭广告。

      Activity 将通过onAdClosed-method 关闭。

    2. 没有准备好广告。

      通过onClick-方法立即关闭活动。

    【讨论】:

      【解决方案2】:

      第一:

      private InterstitialAd mInterstitialAd;
      

      第二步:

      mInterstitialAd = new InterstitialAd(this); 
      mInterstitialAd.setAdUnitId(getString(R.string.interstitialAd_id));
      mInterstitialAd.loadAd(new AdRequest.Builder().build());
      

      第三步:按钮点击事件

      btn.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
                  if(mInterstitialAd.isLoaded()) {
                      mInterstitialAd.show();
                  }
                  else {
                      finish();
                  }
              }
          });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多