Android:如何在GLSurfaceView上显示admob广告

时间:2012-10-02 11:30:23

标签: android admob glsurfaceview

我目前能够在ui view(在单独的测试项目中)获取admob广告,但我想在GLSurfaceView中展示此广告。 我尝试在onCreate( )活动方法和我屏幕的当前方法中加载广告(所有渲染都已完成)我打电话

MyGameActivity.mAdView.bringToFront(); //认为它会将广告带到所有游戏对象的前面。

现在在运行项目时,我可以在logcat窗口中看到消息Recieved ad url "big url" 但我无法在屏幕上看到广告。在我的游戏中,只有一个活动和许多游戏屏幕。请帮我弄清楚如何在我的游戏画面上展示广告。

1 个答案:

答案 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。