InterstitialAd监听器onAdClicked无法正常工作

时间:2017-12-14 13:15:31

标签: android admob interstitial

  

InterstitialAd的所有其他侦听器都在工作,但只有onAdLoaded无法正常工作。

     

我已经为所有听众设置了祝酒词,但onAdLoaded只是没有被调用,但其他人都正常工作。

     

为什么只有onAdClicked()无法解决此方法的错误

代码

    public class TestActivity extends AppCompatActivity {
    InterstitialAd mInterstitialAd;
    AdRequest adRequest;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test_activity);
        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId("ca-app-pub-9547225037870226/6863551510");
        adRequest = new AdRequest.Builder()
                .build();
        mInterstitialAd.loadAd(adRequest);
        mInterstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdFailedToLoad(int i) {
                super.onAdFailedToLoad(i);
                Toast.makeText(TestActivity.this, "ad failed to load", Toast.LENGTH_SHORT).show();


            }

            public void onAdLoaded() {
                Toast.makeText(TestActivity.this, "ad loaded", Toast.LENGTH_SHORT).show();

                showInterstitial();
            }


            @Override
            public void onAdOpened() {
                super.onAdOpened();
                Toast.makeText(TestActivity.this, "ad open", Toast.LENGTH_SHORT).show();

            }

            @Override
            public void onAdImpression() {
                super.onAdImpression();
                Toast.makeText(TestActivity.this, "ad impression", Toast.LENGTH_SHORT).show();

            }

            @Override
            public void onAdClosed() {
                super.onAdClosed();
                Toast.makeText(TestActivity.this, "ad close", Toast.LENGTH_SHORT).show();

            }
            @Override
            public void onAdClicked() {
                super.onAdClicked();
                Toast.makeText(TestActivity.this, "ad clicked", Toast.LENGTH_SHORT).show();

            }

        });
    }
    private void showInterstitial() {
        if (mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        }
    }
}

1 个答案:

答案 0 :(得分:3)

onAdClicked不适用于插页式广告,也不会为他们调用。来自documentation

  

在为广告记录点击时调用。目前,此方法仅用于源自Google的原生广告,采用系统定义的格式之一(应用安装或内容)。

但是,如果您想知道用户何时点击插页式广告,则可以使用onAdLeftApplication方法。点击将导致焦点离开应用程序,因此这是一种可靠的了解方式。