shouldShowOpenAppAd method
是否应该显示开屏广告
blocker 用于标识当前这次“禁止展示”来源。
嵌套页面场景建议传入页面私有 blocker,避免不同页面互相覆盖状态。
Implementation
@override
void shouldShowOpenAppAd(bool shouldShow, {Object? blocker}) {
final previousState = _shouldShowAppOpenAd;
if (blocker != null) {
if (shouldShow) {
_blockers.remove(blocker);
} else {
_blockers.add(blocker);
}
LogUtils.d('$adsType blocker updated: ${shouldShow ? "remove" : "add"}, total:${_blockers.length}');
} else if (shouldShow) {
if (_legacyBlockCount > 0) {
_legacyBlockCount -= 1;
}
LogUtils.d('$adsType legacy blocker released, remaining:$_legacyBlockCount');
} else {
_legacyBlockCount += 1;
LogUtils.d('$adsType legacy blocker added, total:$_legacyBlockCount');
}
if (previousState != _shouldShowAppOpenAd) {
// 这里只改变展示意图,不主动清理当前缓存,也不停止后台补缓存
LogUtils.d('$adsType should show changed: $_shouldShowAppOpenAd');
}
}