2

我在我的项目中使用华为广告工具包,但是当我尝试关闭 InterstitialAd 时 onAdClosed() 回调未触发这里是我的代码如下

Activity activity = ... ;
String adUnitId = ... ;

InterstitialAd ad = InterstitialAd(activity);
ad.setAdUnitId(adUnitId);
ad.setAdListener(new AdListener() {
// ...
@Override public void onAdClosed()
{
    // Called when user presses the X button - OK.
    // Not called when user pressed the device back button - NOT OK.
}
};

ad.loadAd(...);
// (call when ready)
ad.show();

这种行为是故意的吗?

我们的应用代码依赖于 onAdClosed 在用户使用这两个操作关闭插页式广告时被调用。

代码测试:

运行 EMUI 9.1.0.252 和 HMS Core 4.0.0.334 的华为 P10

4

1 回答 1

1

我试图复制您的问题,但就我而言,我得到了您所期望的行为。

如果您使用混淆,请确保将此行添加到您的 proguard-rules.pro

-keep class com.huawei.openalliance.ad.** { *; }

-keep class com.huawei.hms.ads.** { *; }

最后,文档指出 Ads Kit 至少需要 HMS Core 4.0.0 才能正常工作。

https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/ads-sdk-guide

于 2020-07-16T12:42:06.097 回答