Android 在活动结束时显示InMobi间隙()
我正在这个Android应用程序上实现中间横幅,并希望它们在用户完成()通过后退按钮启动应用程序时出现。通过AdMob中介使用solo AdMob Interstitual时,它已经可以正常工作了,如下所示:Android 在活动结束时显示InMobi间隙(),android,interstitial,inmobi,Android,Interstitial,Inmobi,我正在这个Android应用程序上实现中间横幅,并希望它们在用户完成()通过后退按钮启动应用程序时出现。通过AdMob中介使用solo AdMob Interstitual时,它已经可以正常工作了,如下所示: @Override public void finish() { if (isBannerAllowed() && InterstitialBannerFactory.getInsterstitialSingleton().isReady()) {
@Override
public void finish() {
if (isBannerAllowed() && InterstitialBannerFactory.getInsterstitialSingleton().isReady()) {
InterstitialBannerFactory.getInsterstitialSingleton().show();
}
finish();
}
它显示AdMob横幅,当用户解聘时,它将按预期方式完成应用程序
但是,当我在中介中包含InMobi Intersital横幅时,它会显示横幅,但会立即完成应用程序(严格来说是应用程序的最后一个活动),而不会给用户提供查看横幅的机会。它出现并突然结束
我知道会发生这种情况,因为在某种程度上,末尾的finish()与InMobi Interstitual不兼容。我已经尝试过这样做:
@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();
}
}
但它不会生效,行为是一样的,应用程序不会退出
有人有更聪明的解决方案吗
顺便说一句,我使用的是所有相关LIB的最新版本
尊敬。InMobi的间隙显示在同一活动中,而AdMob的间隙看起来像是在新活动中打开的 要解决此问题,您可以覆盖应用程序中的“后退”按钮。有关详细信息,请访问- 范例-
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
Log.d(this.getClass().getName(), "back button pressed");
if (interstitial.isReady()){
interstitial.show();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
注意:onCreate创建一个新的中间对象并对其调用加载。
填隙关闭时最终完成应用程序的代码:
@Override
public void onDismissScreen(Ad ad) {
finish();
}
-SDK开发人员Akshay,InMobiInMobi的Interstitual显示在同一活动中,而AdMob的Interstitual看起来像是在新活动中打开的 要解决此问题,您可以覆盖应用程序中的“后退”按钮。有关详细信息,请访问- 范例-
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
Log.d(this.getClass().getName(), "back button pressed");
if (interstitial.isReady()){
interstitial.show();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
注意:onCreate创建一个新的中间对象并对其调用加载。
填隙关闭时最终完成应用程序的代码:
@Override
public void onDismissScreen(Ad ad) {
finish();
}
-SDK开发人员Akshay,InMobi我还没有机会尝试它,但是覆盖onKeyDown以抓住后退按钮似乎是一个不错的方法。谢谢。我还没有机会尝试一下,但是覆盖onKeyDown来抓住back按钮似乎是一个很好的方法。谢谢