添加AdMob来libgdx添加AdMob来libgdx(Adding Admob to libgd

2019-05-12 11:12发布

    RelativeLayout layout = new RelativeLayout(this);
    AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
    View gameView = initializeForView(new MainGame(), config);

    layout.addView(gameView);


    adView = new AdView(this);

    adView.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            System.out.println("LOAD");
        }
    });
    adView.setAdSize(AdSize.SMART_BANNER);
    adView.setAdUnitId("ca-app-xxx-xxxxxxxxxx/xxxxxxxxxx");

    AdRequest.Builder builder = new AdRequest.Builder();
    RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.WRAP_CONTENT,
            RelativeLayout.LayoutParams.WRAP_CONTENT
    );
    layout.addView(adView, adParams);
    adView.loadAd(builder.build());

    setContentView(layout);

没有显示,没有广告,为什么,我也加入的build.gradle(项目:projectN)编译“com.google.android.gms:发挥服务的广告:$ admobVersion”

使用Ubuntu 16.04,机器人工作室

Answer 1:

加入AdMob广告没有火力地堡:

  1. 将这些行内build.gradle机器人模块。

     dependencies { compile 'com.google.android.gms:play-services-ads:10.2.4' } 
  2. 添加权限在AndoidManifest.xml文件

     <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    里面<application标记添加Activity ,如果要使用插页式广告

     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent" /> 
  3. AndroidLauncher类。

     public class AndroidLauncher extends AndroidApplication { private static final String adUnitId="ca-app-pub-xxxxxxxxxxxxxxxxxxxxx"; private AdView adView; @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); RelativeLayout layout = new RelativeLayout(this); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); layout.setLayoutParams(params); View gameView=initializeForView(new MyGdxGame(), config); RelativeLayout.LayoutParams gameViewParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT); gameViewParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE); gameViewParams.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE); gameView.setLayoutParams(gameViewParams); layout.addView(gameView); adView = new AdView(this); adView.setAdSize(AdSize.BANNER); adView.setAdUnitId(adUnitId); AdRequest.Builder adRequestBuilder = new AdRequest.Builder(); adRequestBuilder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR); adView.loadAd(adRequestBuilder.build()); RelativeLayout.LayoutParams topParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT); topParams.addRule(RelativeLayout.ALIGN_PARENT_TOP,RelativeLayout.TRUE); topParams.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE); layout.addView(adView, topParams); adView.setBackgroundColor(android.graphics.Color.TRANSPARENT); setContentView(layout); } @Override protected void onResume() { super.onResume(); adView.resume(); } @Override protected void onPause() { super.onPause(); adView.pause(); } @Override protected void onDestroy() { super.onDestroy(); adView.destroy(); } } 


文章来源: Adding Admob to libgdx