3

ui view現在、 (別のテストプロジェクトで)AdMob広告を表示できますが、この広告をに表示したいと思いますGLSurfaceViewonCreate( )アクティビティの方法と画面の現在の方法(すべてのレンダリングが行われる)で広告を読み込もうとしました。

MyGameActivity.mAdView.bringToFront(); //すべてのゲームオブジェクトの前に広告が表示されると考えました。

プロジェクトを実行すると、logcatウィンドウにメッセージが表示されますRecieved ad url "big url" が、画面に広告が表示されません。私のゲームでは、アクティビティは1つだけで、ゲーム画面はたくさんあります。ゲーム画面に広告を表示する方法を理解するのを手伝ってください。

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 に答える