Hi to All.
It is a strange problem. Although admob banner appears in my SDL2 game, if i press home button on device to exit game and then return back, admob banner dissappears. Home button prevents any banner from appearing.
I saw that SDL2 destroys surfaces on home button press. After returning to game, code to create banner fails.
Code i use onCreate of my activity is:
mAdView = new AdView(mSingleton);
mAdView.setAdListener(new AdListener(){
@Override
public void onAdLoaded() {
Log.v(“SDL”, “Banner Loaded”);
ShowAd_Banner();
// Save app state before going to the ad overlay.
}
});
mAdView.setAdSize(AdSize.SMART_BANNER);
mAdView.setAdUnitId(“ca-app-pub-3940256099942544/6300978111”);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
params.addRule(RelativeLayout.CENTER_HORIZONTAL);
mLayout.addView(mAdView, params);
HideAd_Banner();
adRequest_Banner = new AdRequest.Builder()
.addTestDevice("BF5D02AD5253A91B55F6019BCEEE0C96")
.build();
mAdView.loadAd(adRequest_Banner);
And on build.gradle
dependencies {
compile fileTree(include: [’*.jar’], dir: ‘libs’)
compile ‘com.google.firebase:firebase-ads:10.0.1’
}
apply plugin: ‘com.google.gms.google-services’
Update: I found what caused this issue. I was using SDL_SetRenderTarget in my c++ SDL2 code to render directly to texture and this prevented admob banner from showing up after home button press. Now on my activity onPause, i switch rendering from texture to main renderer and banners work fine. And onResume of activity i switch again to texture rendering.