android - libgdx 如何集成 admob 插页式 _between_ 游戏屏幕

标签 android screen libgdx admob interstitial

我的 LibGDX 游戏中有 Loading\Logo 屏幕和 MainMenu 屏幕。我想在这些屏幕之间展示一个插页式广告。

我已经设法用下面的代码做到了这一点,但问题是: Logo 屏幕消失后,主菜单屏幕出现了一秒钟,然后才显示广告 - 这让我很恼火。

我想隐藏 Logo 屏幕,然后显示广告,然后才显示主菜单屏幕(黑屏也可以)。你能告诉我如何到达那里吗?

我现在的代码如下:

主类刚刚启动 Logo 屏幕:

public class Colorem extends Game {

        //...   

    IActivityRequestHandler h_AndroidActivity;

    public void create() {  

    //init vars...

        //set logo screen
        this.setScreen(new LogoScreen(this));
    }

        //...   
}

Logo 屏幕使用 AssetManager 加载纹理并加载主菜单屏幕:

public class LogoScreen implements Screen {
    private boolean bLoading = false,
            bLoadingFinished = false;

    public LogoScreen(final Colorem game) {
        this.game = game;

        // ...

    }


    @Override
    public void render(float delta) {

        //draw logo...

            //keep loading the resources calling assetManager.update()
            if(UI.assetManager.update()) {


                game.setScreen(new MainMenuScreen(game));


           }
        }

    }

主菜单类在显示时显示广告:

public class MainMenuScreen implements Screen {

 //...

        @Override
    public void show() {    
            game.h_AndroidActivity.showInterstitialAd_InGame();
    }


}

我也试过从 LogoScreen 的 hide() 方法调用 Ad,但我仍然无法获得干净的屏幕 -> Ad -> 屏幕幻灯片。

最佳答案

好吧。您需要在 MainActivity
中实现 AdListener 公共(public)类 MainActivity 扩展 AndroidApplication 实现 AdListener
这会给你5个方法

@Override
public void onDismissScreen(Ad arg0) {
    // TODO Auto-generated method stub

}

@Override
public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
    // TODO Auto-generated method stub

}

@Override
public void onLeaveApplication(Ad arg0) {
    // TODO Auto-generated method stub

}

@Override
public void onPresentScreen(Ad arg0) {
    // TODO Auto-generated method stub

}

@Override
public void onReceiveAd(Ad arg0) {
    // TODO Auto-generated method stub

}

在您的 LogoScreen 中加载所有 Assets 时显示您的 InterstitialAdd 。现在在上面显示的 onDismissScreen(Ad arg0) 方法中显示您的 MainMenuScreen。 还要记得将监听器添加到您的插页式广告添加 interstitial.setAdListener(this);

如果 game.setScreen(new MainMenuScreen(game));onDismissScreen(Ad arg0) 中不起作用,那么您需要取一个 bool 值并使用它来显示调用 onDismissScreen() 时的 mainmenuScreen()。

关于android - libgdx 如何集成 admob 插页式 _between_ 游戏屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22286682/

相关文章:

java - OnEditTextChanger 覆盖 Android :Input method

android - 带有Gradle的Android Google Maps API v1

java - MySQL + Android 检查是否存在更多值

android - 在屏幕锁定时启动 gps

java - 使用 Libgdx 进行高效 3D block 渲染

java - 使用 LibGDX 实现慢动作

java - 如何从Firebase实时数据库获取两个变量

html - 表格和屏幕阅读器

java - 安卓Java : Turn screen Off

java - libgdx 不同的力量对 body 有相同的影响