【问题标题】:How to automatically close admob interstitial ad if users click the Android home button?如果用户单击Android主页按钮,如何自动关闭admob插页式广告?
【发布时间】:2013-08-04 14:59:02
【问题描述】:

我在我的 Android 应用中使用 Admob 的插页式广告。 interstitialAd.show() 在应用程序的某些事件中调用。一切都很好,但广告有一个烦人的用例。

如果用户在广告显示或广告活动(即用户点击广告)处于活动状态时点击主页,则在切换回应用程序后将显示广告或广告活动。我更希望显示应用程序(即主要活动位于活动堆栈的顶部),因为它看起来让用户首先看到广告感到困惑。

我试图捕获所有活动回调(例如 onStart()、onResume() ...),但显然应用程序在此用例中永远不会成为前台。由于广告活动是通过调用 interstitialAd.show() 启动的,因此我所知道的管理活动堆栈的技巧也无济于事。

有谁知道如何自动关闭广告并将应用主活动返回到顶部?

谢谢。

【问题讨论】:

  • 我想知道这个问题是否会导致违反政策。

标签: android android-activity admob interstitial


【解决方案1】:

如果有人正在寻找这个问题的答案。如果用户在显示插页式广告时点击主页按钮,这会阻止它在用户再次启动应用程序时显示。

在您的 AndroidMainifest.xml 文件中添加: 机器人:noHistory =“真” 到 AdActivity 活动

像这样:

<activity android:name="com.google.android.gms.ads.AdActivity"
   android:noHistory="true"
 android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
</activity>

到目前为止,这似乎有效。

【讨论】:

  • 在我们的测试经验中,这种方法是行不通的!在应用真正进入后台之前,admob 插页式仍然会出现,不会自动关闭。
【解决方案2】:

这可能为时已晚,但您无法自动关闭广告。围绕它的一个技巧是,在您的 onBackPressed() 方法中,在用户点击后退按钮关闭广告后,您将用户返回到应用程序并使用 Toast 方法,提醒用户再次单击后退按钮以退出应用程序。这种方法也满足了谷歌的建议,即您允许用户知道哪个应用程序正在显示广告,因此您在最终关闭之前返回应用程序。就用户体验而言,它可能不是最好的,但确实可以解决问题。下面是一个示例代码。

boolean doubleBackToExitPressedOnce = false;
public void onBackPressed() {
    if(doubleBackToExitPressedOnce) {
       super.onBackPressed();
       return;
    }

    if(backPressAd.isLoaded()) {
        backPressAd.show();
        backPressAd.setAdListener(new AdListener(){
           @Override
           public void onAdClosed() {
              doubleBackToExitPressedOnce = true;
              Toast.makeText(getApplicationContext(), "Click BACK again to exit", Toast.LENGTH_LONG).show();
              backPressAd.loadAd(new AdRequest.Builder().build());
           }
        });
    } else {
      finish();
    }
}

【讨论】:

    【解决方案3】:

    我认为没有解决办法。

    本质上,Ad.show() 需要在新任务中打开广告,因此它不属于当前任务/应用的 Activity 列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多