【问题标题】:libgdx how to integrate admob interstitial _between_ game screenslibgdx 如何集成 admob 插页式游戏画面
【发布时间】:2014-03-09 19:03:03
【问题描述】:

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

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

我想隐藏徽标屏幕,然后显示广告,然后才出现主菜单屏幕(黑屏之间可以)。你能告诉我怎么去那里吗?

我现在的代码如下:

主类刚刚启动徽标屏幕:

public class Colorem extends Game {

        //...   

    IActivityRequestHandler h_AndroidActivity;

    public void create() {  

    //init vars...

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

        //...   
}

徽标屏幕使用 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 -> 屏幕幻灯片。

【问题讨论】:

    标签: android screen libgdx admob interstitial


    【解决方案1】:

    好的。您需要在 MainActivity 中实现 AdListener
    public class MainActivity extends AndroidApplication implements 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 中加载所有资源时显示您的 InterstitialAdd。现在在上面显示的onDismissScreen(Ad arg0) 方法中显示您的 MainMenuScreen。 还要记得将listner 添加到您的插页式广告中添加interstitial.setAdListener(this);

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-10
      • 2014-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-16
      • 1970-01-01
      相关资源
      最近更新 更多