当前位置: 首页 > 知识库问答 >
问题:

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

易昌翰
2023-03-14

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

我最初的理解是,显示广告会使活动进入暂停模式,并在广告关闭后恢复。

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

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

源代码:

@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个答案

薛弘阔
2023-03-14

好吧,所以我努力解决了这个问题。有点难看,但它正是我想要它做的。在调用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();
                };
        }
}
 类似资料:
  • 当我尝试从一个活动()切换到另一个活动()时出错。我做错了什么?我的代码没有错误。 以下是日志猫的内容: E/AndroidRuntime(787): FATAL EXCEPTION: main E/AndroidRuntime(787): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.intellig

  • 问题内容: 我试图使用此代码从我的主要活动中调用第二个活动 作为我的OrderSummaryActivity: 但是布局不会在此活动中显示,只是空白页。这是布局的xml: 有什么提示吗? 问题答案: 尝试将 OrderSummaryActivity.class 更改为:

  • 移动端如果使用异步组件加载那么还是需要一点等待时间的,在网络慢时等待时间会更长。显示Loading状态缓解一下用户等待情绪就十分重要。 如果你使用vue-router和vuex,那么可以很容易实现。 首先,注册一个module来保存状态 const store = new Vuex.Store({}) // 这里你可能已经有其他 module store.registerModule('vux'

  • 我的应用程序由两个活动组成:MainActivity和RoomOne,当用户按下按钮时,会显示奖励视频广告,作为奖励,用户可以访问RoomOne活动,但是当用户被带到RoomOne活动时,当他返回MainActivity时,他不能再去RoomOne,因为奖励视频广告拒绝显示,所以是这样的: 1用户启动应用程序。 2-User想要访问RoomOne,请按一个按钮。 3奖励视频广告成功显示,当它完成广

  • 这让我快发疯了。 我只想有一个按钮来显示和隐藏Bootstrap4中的DIV,每当我切换class=“collapse”时,DIV会显示但不会折叠。 在页面加载div折叠,按钮只工作一次,看着开发者视图在Chrome每当点击按钮它从折叠切换到collapse.show?再次单击它,它每次都会填充collapse.show。 JQuery在标题中。 感谢任何帮助,这让我发疯。在多个设备/浏览器上测试

  • 假设你有两个活动-A和B,你从A开始B。在B中,你有一个任务。如果任务完成,您希望返回到按下when back键,如果没有,您希望取消整个应用程序。但在解除后,你可以从最近的应用程序菜单中恢复B。如果在那之后你需要同样的后退键的行为。 因此,我想放弃一个活动或整个应用程序(但简历的可能性)。有什么办法可以做到这一点吗?