Я использую andengine для разработки своей игры с сервисами google play, моя игра отлично работает. Но как только я добавил admob с вызванным обратным вызовом onSetContentView, мой экран игры становится черным, и видны только объявления. Вот мой callback onSetContentView:Невозможно отобразить экран игры, в то время как admob интегрирован с AndEngine + сервисом Google Play
@override
protected void onSetContentView() {
this.mRenderSurfaceView = new RenderSurfaceView(this);
this.mRenderSurfaceView.setRenderer(mEngine, this);
final android.widget.FrameLayout.LayoutParams surfaceViewLayoutParams = new FrameLayout.LayoutParams(super.createSurfaceViewLayoutParams());
Log.i(TAG,"In funcion OnSetContaitView");
//Creating the banner view.
AdView adView = new AdView(this);
adView.setAdSize(com.google.android.gms.ads.AdSize.BANNER);
adView.setAdUnitId("my adunit id");
//create add req
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)// This is for emulators
//test mode on DEVICE (this example code must be replaced with your device uniquq ID)
.addTestDevice("2EAB96D84FE62876379A9C030AA6A0AC") // Nexus 5
.addTestDevice("TA93303NP9")
.build();
adView.loadAd(adRequest);
final FrameLayout.LayoutParams adViewLayoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.RIGHT | Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM);
final FrameLayout frameLayout = new FrameLayout(this);
final FrameLayout.LayoutParams frameLayoutLayoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.FILL_PARENT);
frameLayout.addView(this.mRenderSurfaceView,surfaceViewLayoutParams);
frameLayout.addView(adView,adViewLayoutParams);
this.setContentView(frameLayout, frameLayoutLayoutParams);
adView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
В настоящее время я могу видеть либо экран игры, либо рекламу. Пожалуйста, предложите, как получить экран игры вместе с объявлениями.
Спасибо заранее.
я не знаю, если это будет ответить на ваш вопрос, но вы используете 'FrameLayout', что он делает это закладывает' View' на верхней части друг с другом так, либо addview поверх игрового пространства, либо наоборот, и вы используете 'Fill_parent', почему бы не wrap_content или вообще не использовать' LinearLayout'? потому что ваш тип 'addView' -' Smart_Banner', поэтому его высота равна 50dp. im i lucid Sir? – Elltz