未触发华为广告服务 onAdClosed() 回调

Huawei Ads Kit onAdClosed() callback is not triggered

我在我的项目中使用了华为广告套件,但是当我试图关闭 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。

代码测试:

华为P10 运行EMUI 9.1.0.252和HMS Core 4.0.0.334

我试图重现你的问题,但在我的例子中,我得到了你所期望的行为。

如果您正在使用混淆,请确保将此行添加到您的 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