【问题标题】:Showing InMobi interstitial on activity finish()在活动完成()上显示 InMobi 插页式广告
【发布时间】: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


    【解决方案1】:

    InMobi 的插页式广告显示在同一个活动中,而 AdMob 的插页式广告看起来像是在新活动中打开。

    要解决此问题,您可以覆盖应用中的后退按钮。更多详细信息请参见 - Override back button to act like home button

    例子-

    @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();
    }
    

    -Akshay,SDK 开发人员,InMobi

    【讨论】:

    • 我还没有机会尝试它,但覆盖 onKeyDown 以捕捉后退按钮似乎是一个好方法。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多