切换活动时未显示AdMob Interstitual(Android)

切换活动时未显示AdMob Interstitual(Android),android,android-intent,admob,interstitial,Android,Android Intent,Admob,Interstitial,我目前正在将AdMob包含到我的一些应用程序中,但我面临一个问题。 我尝试在更改活动时显示一个间隙,因为这是一个不会打扰用户的地方 我最初的理解是,显示广告将使活动进入暂停模式,并在广告关闭后继续 这种假设似乎是错误的,正如下面的代码一样,活动被直接切换,祝酒词显示应该显示广告,但只要我不评论startActivity(意图),我就永远看不到广告 我正在onCreate中加载广告,然后尝试在另一个空白处显示它,当单击按钮时会触发该空白(当然,如果该按钮在该时间点完成加载) 源代码: @Overr

我目前正在将AdMob包含到我的一些应用程序中,但我面临一个问题。 我尝试在更改活动时显示一个间隙,因为这是一个不会打扰用户的地方

我最初的理解是,显示广告将使活动进入暂停模式,并在广告关闭后继续

这种假设似乎是错误的,正如下面的代码一样,活动被直接切换,祝酒词显示应该显示广告,但只要我不评论startActivity(意图),我就永远看不到广告

我正在onCreate中加载广告,然后尝试在另一个空白处显示它,当单击按钮时会触发该空白(当然,如果该按钮在该时间点完成加载)

源代码:

@Override
public void onCreate(Bundle SafedInstanceState)
{
    [...]
    LoadAd();
    [...]
}

public void ShowAd(){
    if (interstitial.isLoaded()) {
    interstitial.show();
    }
}

public void LoadAd(){
    String MY_AD_UNIT_ID=getResources().getString(R.string.AdID);
    // Create the interstitial.
    interstitial = new InterstitialAd(this);
    interstitial.setAdUnitId(MY_AD_UNIT_ID);

    // Create ad request.
    AdRequest adRequest = new AdRequest.Builder().build();

    // Begin loading your interstitial.
    interstitial.loadAd(adRequest);
}

public void SWITCHACTIVITY (View view) {
    ShowAd();
    Intent intent = new Intent (this, ANOTHERACTIVITY.class);
    startActivity(intent);
    finish();
}
非常感谢任何关于我在这里做错了什么或我如何在广告关闭后显示广告和切换/关闭活动的信息


提前谢谢

好的,所以我解决了这个问题。有点难看,但它正是我想要它做的。 在调用ShowAd()之前,我设置了我的意图,然后在广告关闭后触发它:

public void ShowAd(){
        if (interstitial.isLoaded()) {
            interstitial.show();
            interstitial.setAdListener(new AdListener() {
            public void onAdClosed() {
                if (PostAdIntent != null)
                {
                    startActivity(PostAdIntent);
                    PostAdIntent = null;
                    finish();
                };
            }
            });

        } else
        {
            if (PostAdIntent != null)
                {
                startActivity(PostAdIntent);
                PostAdIntent = null;
                finish();
                };
        }
}

插入式广告不会在加载后立即显示。您可以使用它的侦听器方法来检查是否加载了ad。但在活动之间放置广告会改变其糟糕的用户体验。我知道它不会立即显示,这就是为什么它会在创建时加载,但只在需要时显示。(在另一个应用程序上工作正常)活动的切换(在本例中)是应用程序中非常好的自然中断,因为在此之后,将为客户提供特殊服务。我对一个有代表性的用户群体做了一些调查,并查看了分析结果,事实上,这是一个值得关注的地方。广告不会打扰没有在应用程序中使用此功能的用户,但使用此功能的用户会支持我,也不会介意在此处显示广告;)最佳做法是从另一个activity.class加载您的广告,并在加载时显示。这将导致显示活动,然后(取决于连接速度)将已可见的布局置于背景,广告将占据焦点。我希望避免这种情况,因为这确实会降低用户体验。首选的方法是在切换之前先播放广告。我想我会将开关移出这个方法,并分别在if的else(interstitual.isLoaded()中的onAdClosed()中触发它