안녕하세요.
Eclipse로 작업중에 Admob 배너광고를 붙였는데,
처음 호출시에는 잘 나오는데
앱의 특성상 자주 visible을 꺼주고 켜주고를 반복하게 됩니다.
문제는 어쩔때는 키고 끄고가 잘 되는데,
어느 순간 갑자기 껏다가 키는데 배너가 아예 안나오는 경우가 있고,
또 안나오다가 한 10초뒤쯤 다시 나오는 경우도 있습니다.
단순히 visible만 건드리는데 다시 로드받는 건지, 아예 안나오는건 왜그러는건지
이유가 궁금합니다
아래는 제가 적용중인 코드입니다.
감사합니다
public void InitBannerAd()
{
Log.i("Admob","Admob InitBannerAd");
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
LinearLayout.LayoutParams adParams = new LinearLayout.LayoutParams( getDisplaySize(getWindowManager().getDefaultDisplay()).x , LinearLayout.LayoutParams.WRAP_CONTENT);
adView = new AdView(this);
adView.setAdSize( AdSize.BANNER );
adView.setAdUnitId("ID");
AdRequest adRequest;
adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
adView.setBackgroundColor(Color.BLACK);
adView.setBackgroundColor(0);
addContentView(adView, adParams);
adView.setVisibility( AdView.VISIBLE );
}
public void hideBannerAd()
{
Log.i("Admob","Admob hideBannerAd");
if ( adView == null )
return;
if ( adView.getVisibility() != AdView.INVISIBLE )
adView.setVisibility( AdView.INVISIBLE );
}
public void showBannerAd( boolean bBottom )
{
Log.i("Admob","Admob showBannerAd");
if ( adView == null )
return;
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
Log.i("Admob","Admob adView showBannerAd");
if ( bBottom )
{
int nY = height - ( adView.getHeight() );
adView.setY( nY );
}
else
adView.setY( 0 );
if ( adView.getVisibility() == AdView.INVISIBLE )
adView.setVisibility( AdView.VISIBLE );
}