InterstitialAd监听器onAdClicked无法正常工作

问题描述 投票:3回答:1

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();
        }
    }
}
android admob interstitial
1个回答
3
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.