Unable to display game screen while admob is integrated with AndEngine + google play service

I use andengine to develop my game with google play services, my game works fine. But as soon as I added admob with the onSetContentView callback called, my game screen goes black and only ads are visible. Here is my callback onSetContentView:

@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); } 

Currently, I can see either the game screen or ads. Please suggest how to get the game screen along with the ads.

Thanks at Advance.

0
source share
1 answer

Try using the code:

 @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final DisplayMetrics displayMetrics = new DisplayMetrics(); this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); this.adView = new AdView(this); this.adView.setAdSize(com.google.android.gms.ads.AdSize.SMART_BANNER); this.adView.setAdUnitId("PUT YOUR NUMBER"); com.google.android.gms.ads.AdRequest adrequest = new com.google.android.gms.ads.AdRequest.Builder().build(); //you can use test device as you did in your code this.adView.loadAd(adrequest); RelativeLayout layout = (RelativeLayout)findViewById(R.id.relativeLayout); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); layout.addView(this.mRenderSurfaceView); layout.addView(this.adView, params); } 
+1
source

All Articles