【问题标题】:InterstitialAd listener onAdClicked not working插页式广告侦听器 onAdClicked 不起作用
【发布时间】:2017-12-14 13:15:30
【问题描述】:

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 我已经更改了代码并说清楚了。请检查一下.....

标签: android admob interstitial


【解决方案1】:

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

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

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

【讨论】:

  • 那么 NativeAd 怎么样?当我点击它时,它的onAdClicked 不会被调用。这是否意味着我在调试版本上测试广告的实现时无法点击广告?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-20
  • 2017-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多