切换活动时未显示AdMob插页式广告(Android)

时间:2015-03-03 10:45:56

标签: android android-intent admob interstitial

我目前正将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();
}

非常感谢我在这里做错的任何输入,或者我如何实现广告的显示以及广告关闭后广告系列的切换/关闭。

提前致谢!

1 个答案:

答案 0 :(得分:3)

好的,所以我解决了这个问题。有点难看,但它正在做我想做的事情。 在调用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();
                };
        }
}