我在这里回答了,如何将AdMob标语广告集成到LibGDX项目中。
现在,我
InterstitialAd在横幅广告集成之后回答集成。
private static final String AD_UNIT_ID_INTERSTITIAL = "ca-app-pub-XXXXX/XXXXX";private InterstitialAd interstitialAd;@Overrideprotected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... ... interstitialAd = new InterstitialAd(this); interstitialAd.setAdUnitId(AD_UNIT_ID_INTERSTITIAL); interstitialAd.setAdListener(new AdListener() { @Override public void onAdLoaded() {} @Override public void onAdClosed() { loadIntersitialAd(); } }); loadIntersitialAd();}private void loadIntersitialAd(){ AdRequest interstitialRequest = new AdRequest.Builder().build(); interstitialAd.loadAd(interstitialRequest);}@Override public void showOrLoadInterstitial() { runonUiThread(new Runnable() { public void run() { if (interstitialAd.isLoaded())interstitialAd.show(); elseloadIntersitialAd(); } });}需要一个
showOrLoadInterstitial从核心模块调用的接口,因此我
IActivityRequestHandler在核心模块内部创建了该接口并实现
AndroidLauncher了android模块的接口。
public interface IActivityRequestHandler { void showOrLoadInterstitial();}编辑
您不能
showOrLoadInterstitial()使用类/接口名称调用非静态方法,它需要已
IActivityRequestHandler实现类的对象,因此请创建
MyGdxGameandroid模块的参数化构造函数并传递引用。
public class AndroidLauncher extends AndroidApplication implements IActivityRequestHandler { @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); View gameView=initializeForView(new MyGdxGame(this)); .... .... }捕获游戏
IActivityRequestHandler内部
MyGdxGame类的参考
public class MyGdxGame extends Game { Public IActivityRequestHandler requestHandler; public MyGdxGame(IActivityRequestHandler requestHandler){ this.requestHandler=requestHandler; } ...}现在您有了对象引用,可以调用
requestHandler.showOrLoadInterstitial()



