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();
}
}
}
答案 0 :(得分:3)
onAdClicked
不适用于插页式广告,也不会为他们调用。来自documentation:
在为广告记录点击时调用。目前,此方法仅用于源自Google的原生广告,采用系统定义的格式之一(应用安装或内容)。
但是,如果您想知道用户何时点击插页式广告,则可以使用onAdLeftApplication
方法。点击将导致焦点离开应用程序,因此这是一种可靠的了解方式。