【发布时间】: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