Android: как отображать рекламные объявления на GLSurfaceView
В настоящее время я могу получить рекламу AdMob на ui view
(в отдельном тестовом проекте), но я хочу показать это объявление в GLSurfaceView
, Я пытался загрузить объявление в onCreate( )
метод деятельности и в настоящем методе моего экрана (где все рендеринг делается) я вызвал
MyGameActivity.mAdView.bringToFront(); // думал, что это принесет рекламу перед всеми игровыми объектами.
теперь при запуске проекта я вижу сообщение в окне logcat Recieved ad url "big url"
но я не вижу рекламу на экране. В моей игре есть только одно занятие и множество игровых экранов. Пожалуйста, помогите мне понять, как показывать рекламу на моем игровом экране.
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);
}
После того, как вы получите это право, вы получите эквивалент учебного приложения BannerEssentials из учебников Google Play, но с использованием GLSurfaceView.