我目前能够在ui view
(在单独的测试项目中)获取admob广告,但我想在GLSurfaceView
中展示此广告。
我尝试在onCreate( )
活动方法和我屏幕的当前方法中加载广告(所有渲染都已完成)我打电话
MyGameActivity.mAdView.bringToFront(); //认为它会将广告带到所有游戏对象的前面。
现在在运行项目时,我可以在logcat窗口中看到消息Recieved ad url "big url"
但我无法在屏幕上看到广告。在我的游戏中,只有一个活动和许多游戏屏幕。请帮我弄清楚如何在我的游戏画面上展示广告。
答案 0 :(得分:1)
您应该将布局修改为:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutMain"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout1"
android:tag="trueLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
>
</RelativeLayout>
</LinearLayout>
这是我的代码,这是自我解释的。:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout layoutMain = (LinearLayout) findViewById(R.id.layoutMain);
// Create the adView
// Please replace MY_BANNER_UNIT_ID with your AdMob Publisher ID
adView = new AdView(this, AdSize.BANNER, "YourPersonalID#");
layoutMain.addView(adView);
// Initiate a generic request to load it with an ad
AdRequest request = new AdRequest();
request.setTesting(true);
adView.loadAd(request);
RelativeLayout layout1 = (RelativeLayout) findViewById(R.id.layout1);
layout1.setOnTouchListener(this);
mTestHarness = new GLSurfaceView(this);
mTestHarness.setEGLConfigChooser(false);
mTestHarness.setRenderer(this);
mTestHarness.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);
layout1.addView(mTestHarness);
}
在你做到这一点后,你将从google play教程中获得与BannerEssentials教程相同的内容,但是使用GLSurfaceView。