android - Google Ad Manager AdListener#onAdClicked() 回调未触发
问题描述
下午好。我正在尝试将 Google Ad Manager 实施到项目(不是 AdMob)以呈现广告内容。
根据我的需要,我使用带有 AdSize.FLUID 的原生广告(不是横幅广告)。 出于某种原因,当我尝试将AdListener设置为PublisherAdView 时。onAdClicked()回调不会触发(其他回调完美运行)。有人遇到过这个奇怪的问题吗?你是如何解决的?
如果我通过AdLoader.Builder()加载广告内容,则PS onAdClicked()回调有效,但由于项目结构,我无法使用它。
PPS 我使用的是以下版本的播放服务广告版本
implementation 'com.google.android.gms:play-services-ads:19.6.0'
PublisherAdView publisherAdView = new PublisherAdView(context);
publisherAdView.setAdUnitId(AD_UNIT_ID);
publisherAdView.setAdSizes(AdSize.FLUID);
publisherAdView.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
}
@Override
public void onAdFailedToLoad(LoadAdError loadAdError) {
Log.e("!", "onAdFailedToLoad: ");
super.onAdFailedToLoad(loadAdError);
}
@Override
public void onAdOpened() {
Log.e("!", "onAdOpened: " );
super.onAdOpened();
}
@Override
public void onAdLoaded() {
Log.e("!", "onAdLoaded: " );
super.onAdLoaded();
}
@Override
public void onAdClicked() {
super.onAdClicked();
Log.e("!", "onAdClicked: ");
}
});
PublisherAdRequest.Builder builder = new PublisherAdRequest.Builder();
publisherAdView.loadAd(builder.build());
解决方案
我没有找到如何解决这个问题。由于项目结构,我有一些限制,所以我用自定义视图包装了 Google 广告视图(没什么特别的,只是一个带有广告视图和占位符的容器 + 一些用于构建广告和更改占位符可见性的方法)。
有了这个解决方案,我就可以使用 AdLoader.Builder()。
推荐阅读
- vba - IIF 关于标准的声明
- python - 即使我明确为它分配了不同的值,方法属性也不会自行更新
- javascript - 如何使 html 运行没有开始或结束的代码?
- javascript - JS在生成的ajax div中添加文本
- flutter - Flutter 图像选择器已经激活,null 异常
- go - 在 Go 中使用 stdlib 中未导出的函数/类型
- performance - CSV 迄今为止和浮动
- c++ - 使用 old_pointer + offset 的 new_pointer 设置 shared_ptr
- vb.net - txtBoxes 列表 - System.NullReferenceException:
- python - 如何创建一个包含文件中每一行的第一个单词的列表(Python 3)