Почему он не показывает баннерную рекламу в libgdx - PullRequest
0 голосов
/ 23 апреля 2019

Я внедряю баннерную рекламу admob в игру libgdx.Я сделал несколько экранов и хочу показывать рекламные баннеры на каждом экране.Я реализовал баннерную рекламу в классе запуска и пытался показать ее в классе экрана с помощью вызова метода интерфейса, но реклама не показывается, даже если идентификатор тестового устройства в logcat не отображается.

public class BabyOrange extends BabyScreen {

private BabyActor bg;
private BabyActor ph;

private AdsController adsController;

 public BabyOrange(Game g,AdsController adsController){
  super(g);
   this.adsController = adsController;


   }

 public void create () {

 adsController.showBannerAd();

bg = new BabyActor();
bg.setTexture(asset.get("background-orange.png",Texture.class));
bg.setSize(Gdx.graphics.getWidth(),Gdx.graphics.getHeight());

ph = new BabyActor();
ph.setTexture(asset.get("orange-ph.png",Texture.class));
ph.setSize(Gdx.graphics.getWidth(),Gdx.graphics.getHeight());

}

Здесьэто интерфейс

public interface AdsController {
public void showBannerAd();
public void hideBannerAd();
 }

и класс запуска Android

public class AndroidLauncher extends AndroidApplication implements 
AdsController{

 private static final String BANNER_ID = "ca-app-pub- 
 959117648XXXXXX/XXXXXXXX";
 AdView bannerAd;
 @Override
 protected void onCreate (Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   AndroidApplicationConfiguration config = new 
 AndroidApplicationConfiguration();

    //create a gameView and a bannerAd AdView
  View gameView = initializeForView(new BabyGame(), config);

  setupAds();

//define the layout
RelativeLayout layout = new RelativeLayout(this);
layout.addView(gameView, ViewGroup.LayoutParams.MATCH_PARENT, 
ViewGroup.LayoutParams.MATCH_PARENT);

RelativeLayout.LayoutParams params = new 
RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
        ViewGroup.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layout.addView(bannerAd,params);
setContentView(layout);
}

public void setupAds(){
    bannerAd = new AdView(this);
    bannerAd.setVisibility(View.INVISIBLE);
    bannerAd.setAdUnitId(BANNER_ID);
    bannerAd.setAdSize(AdSize.SMART_BANNER);
}

@Override
public void showBannerAd() {
    runOnUiThread(new Runnable() {
        @Override
       public void run() {
        bannerAd.setVisibility(View.VISIBLE);
        AdRequest.Builder builder = new AdRequest.Builder();
        AdRequest ad = builder.build();
        bannerAd.loadAd(ad);
    }
    });
}

@Override
public void hideBannerAd() {

runOnUiThread(new Runnable() {
    @Override
    public void run() {
        bannerAd.setVisibility(View.INVISIBLE);
    }
});
 }
}
...