java - 无法让 AdMob 广告显示在 libgdx 游戏中

标签 java android eclipse libgdx admob

我正在尝试在广告中创建 Admob 横幅,但它没有显示,这是我在 logcat 中得到的内容:

02-23 14:52:11.943: I/Ads(13358): Scheduling ad refresh 60000 milliseconds from now.
02-23 14:52:11.943: I/Ads(13358): Ad finished loading.
02-23 14:53:11.992: I/Ads(13358): Ad is not visible. Not refreshing ad.

在我的代码中,我使用 2 个屏幕,一个称为 TitleScreen,另一个称为 GameScreen,我的游戏类称为 SimonSays。

这是我在 MainActivity.java 中的 Android 代码:

    RelativeLayout layout = new RelativeLayout(this);

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    View gameView = initializeForView(new SimonSays(), true);

    AdView AdView = new AdView(this);
    AdView.setAdSize(AdSize.SMART_BANNER);
    AdView.setAdUnitId("***"); //Secret
    AdRequest.Builder adRequest = new AdRequest.Builder();
    adRequest.addTestDevice("7C4216C9F2879CE166853D136DCC4F32"); //My Galaxy S4
    AdView.loadAd(adRequest.build());

    layout.addView(gameView);

    RelativeLayout.LayoutParams adParams = 
            new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
                            RelativeLayout.LayoutParams.WRAP_CONTENT);
    adParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    adParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

    layout.addView(AdView, adParams);

    setContentView(layout);


    initialize(new SimonSays(), cfg);

最佳答案

您正在初始化游戏两次。这里一:

View gameView = initializeForView(new SimonSays(), true);

另一个在这里:

initialize(new SimonSays(), cfg);

删除第二个,并使用第一个中的cfg配置。像这样:

RelativeLayout layout = new RelativeLayout(this);

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
View gameView = initializeForView(new SimonSays(), cfg); //<-- notice the change

AdView AdView = new AdView(this);
AdView.setAdSize(AdSize.SMART_BANNER);
AdView.setAdUnitId("***"); //Secret
AdRequest.Builder adRequest = new AdRequest.Builder();
adRequest.addTestDevice("7C4216C9F2879CE166853D136DCC4F32"); //My Galaxy S4
AdView.loadAd(adRequest.build());

layout.addView(gameView);

RelativeLayout.LayoutParams adParams = 
        new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
                        RelativeLayout.LayoutParams.WRAP_CONTENT);
adParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
adParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

layout.addView(AdView, adParams);

setContentView(layout);

关于java - 无法让 AdMob 广告显示在 libgdx 游戏中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21969187/

相关文章:

java - J2ME : lock the device programmatically

java - 使用 Play 将验证错误作为 JSON 返回!框架

java - 同时写入和读取同一个文件并通过 Jersey 流式传输

java - Selenium Webdriver 和 findelement

java - IntelliJ IDEA 与 Eclipse 的 Maven 嵌套多模块项目中的 Jetty 资源库不同

java - 如何创建等待输入信号的后台方法? (java初学者)

Android 动画 ObjectAnimator 从中心旋转

android - uiautomator中如何使用多点触控?

函数中的android nullpointerexception

java - Android 将 fragment Activity 链接到框架布局