【问题标题】:LibGDX Admob LinearLayout codeLibGDX Admob 线性布局代码
【发布时间】:2016-02-18 15:41:48
【问题描述】:

我正在尝试将 admob 放入我的 LIBGDX 应用程序中,但是按照教程 GitHub,我无法运行我的应用程序。请有人尝试帮助我设置代码。下面是main_activity,main.xml。 注意:所有修改都是在 AndroidManifest.xml 中作为教程 google admob 进行的。

Main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:ads="http://schemas.android.com/apk/res-auto"
     android:id="@+id/main_layout"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:orientation="vertical" >

</LinearLayout>

主要活动:

 public class MainActivity extends AndroidApplication implements AdsController {

private static final String BANNER_AD_UNIT_ID = "ca-app-pub-3954521267929789/5402418153";

AdView bannerAd;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
    cfg.useGL20 = false;

    View gameView = initializeForView(new FXGame(this), cfg);
    setupAds();

    RelativeLayout layout = new RelativeLayout(this);
    layout.addView(gameView, ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    layout.addView(bannerAd, params);

    setContentView(layout);
}

public void setupAds() {
    bannerAd = new AdView(this);
    bannerAd.setVisibility(View.INVISIBLE);
    bannerAd.setBackgroundColor(0xff000000); // black
    bannerAd.setAdUnitId(BANNER_AD_UNIT_ID);
    bannerAd.setAdSize(AdSize.SMART_BANNER);
}

@Override
public void showBannerAd() {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            bannerAd.setVisibility(View.VISIBLE);
            AdRequest.Builder builder = new AdRequest.Builder();
            AdRequest ad = builder.build();
            bannerAd.loadAd(ad);
        }
    });
}

@Override
public void hideBannerAd() {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            bannerAd.setVisibility(View.INVISIBLE);
        }
    });
}
}

我的外汇游戏:

 public class FXGame extends Game {

private AdsController adsController;

public ZBGame(AdsController adsController){
    this.adsController = adsController;
}

@Override
public void create() {
    AssetLoader.load();
    setScreen(new SplashScreen(this));
    adsController.showBannerAd();

}

@Override
public void dispose() {
    super.dispose();
    AssetLoader.dispose();
}
}

界面 AdsController:

public interface AdsController {

public void showBannerAd();
public void hideBannerAd();

}

【问题讨论】:

  • 您没有为展示横幅广告或插页式广告做任何事情。您可以按照本系列文章中解释的步骤进行操作:norakomi.com/tutorial_admob_part2_banner_ads1.php 尝试后如果您仍然无法将 admob 与您的 libgdx 项目集成,我可以帮助您。
  • 我已经完成了本教程,但没有显示横幅。在本教程中,我的代码中没有任何错误,只是在项目核心的 AdsController 中。如果你能帮助我,它会看起来很棒!哈哈
  • 能否请您出示您展示横幅广告的代码?
  • 您的 AdView 在哪里?你在哪里设置它的属性。
  • 更新了我的问题。按照教程野良神,底部只出现一条黑色条纹。它不显示广告。

标签: java libgdx admob google-play-services android-linearlayout


【解决方案1】:

您在 showBannerAd 和 hideBannerAd 方法中错误地设置了bannerAd 的可见性。应该是相反的。另外,请确保您调用的是 show showBannerAd()。

【讨论】:

  • 我该如何解决这个问题?如果你能帮助我
  • @MTR 仔细查看您对setVisibility() 的调用。如果您想显示横幅,您真的希望它不可见吗?
  • @MTR,我已经编辑了你的代码。在 setupAds 方法中,默认可见性设置为 INVISIBLE。调用 showBannerAd 方法后,您的广告将被展示。
  • 即使改变两者的可见性,底部仍然只出现一条黑色条纹。我想显示智能横幅
  • 你能告诉我你调用“showBannerAd”方法的代码吗
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-26
  • 2015-07-27
  • 1970-01-01
相关资源
最近更新 更多