【发布时间】:2018-06-28 22:43:16
【问题描述】:
我正在这个 Android 应用程序上实现插页式横幅,并希望它们在用户通过后退按钮完成()应用程序时出现。通过 AdMob 中介单独使用 AdMob 插页式广告时,它已经可以正常工作了,这样:
@Override
public void finish() {
if (isBannerAllowed() && InterstitialBannerFactory.getInsterstitialSingleton().isReady()) {
InterstitialBannerFactory.getInsterstitialSingleton().show();
}
finish();
}
它显示 AdMob 横幅,当用户关闭时,它会以预期的方式完成应用程序。
但是,当我在中介中包含 InMobi 插页式横幅时,它会显示横幅,但会立即完成应用程序(严格来说是应用程序剩余的最后一个活动),而没有给用户查看横幅的机会。它出现并突然结束。
我知道会发生这种情况,因为在某种程度上,最后的 finish() 不能与 InMobi 插页式广告一起正常工作。我已经尝试过这样做:
@Override
public void finish() {
setAppFinishing(true);
if (isBannerAllowed() && InterstitialBannerFactory.getInsterstitialSingleton().isReady()) {
InterstitialBannerFactory.getInsterstitialSingleton().show();
}
}
注意开头的 setAppFinishing(true) 和结尾的 finish() 的删除。
它变得更好了,因为它显示了 InMobi 插页式广告。但会阻止用户通过后退按钮退出应用。
然后我在 AdListerner 的 onDismissScreen() 上尝试了这个来补充上面的代码:
@Override
public void onDismissScreen(Ad ad) {
// prepares the next
if (!isAppFinishing()) {
InterstitialBannerFactory.loadAd();
}
else {
finish();
}
}
但它不生效,行为相同,应用程序没有退出。
有人有更聪明的解决方案吗?
顺便说一句,我正在使用所有相关库的最新版本。
问候。
【问题讨论】:
标签: android interstitial inmobi