InterstitialAd监听器onAdClicked无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了InterstitialAd监听器onAdClicked无法正常工作相关的知识,希望对你有一定的参考价值。

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();
        }
    }
}
答案

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

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

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

以上是关于InterstitialAd监听器onAdClicked无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

在 React-Native 中调用 interstitialAd.load() 方法时应用程序崩溃

我想在 ios(swift) 中每五分钟加载一次 facebook 插页式广告

Facebook Audience 网络插页式广告崩溃

proguard 不会忽略引用的库

React Native 中的 AdMob 原生广告

如何从静态片段中显示Admob插页式广告?