插页式广告监听器onAdClicked无法正常工作

5

所有其他的InterstitialAd监听器都在工作,但只有onAdLoaded没有工作。

我已经为所有的监听器设置了toast,但只有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();
        }
    }
}

重新格式化了代码并修复了损坏的字符串。 - gil.fernandes
请确保您粘贴格式化的代码,并记录您收到的错误信息。 - gil.fernandes
更正了句子:“我已经调试了代码并且光标…”,以使意思更易理解。 - gil.fernandes
@gil.fernandes,我已经修改了代码并使其更加清晰,请检查一下。 - lizzy sam
1个回答

7

onAdClicked不适用于插页式广告,也不会为此调用。根据文档

当广告记录点击时调用。当前,此方法仅与Google原始的本机广告(应用安装或内容)中的一个系统定义格式一起使用。

如果您想知道用户何时单击插页式广告,请改用onAdLeftApplication方法。点击会导致焦点离开应用程序,因此这是一种可靠的方式。


NativeAd怎么样?当我点击它时,它的onAdClicked没有被调用。这是否意味着在调试版本上测试广告实现时无法点击广告? - Oleksandr Nos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接