3

我目前能够获得 admob 广告ui view(在单独的测试项目中),但我想在GLSurfaceView. 我试图在onCreate( )活动方法中加载广告,并且在我的屏幕的当前方法中(所有渲染都完成)我调用了

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

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

4

1 回答 1

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 代替。

于 2012-10-02T17:11:16.983 回答