appear admob to center and bottom in android
how to appear admob in center and bottom of screen.
cocos2dx project has AppActivity and put code to AppActivity.
public class AppActivity extends Cocos2dxActivity { private static AppActivity _appActiviy; private AdView adView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // (1)instantiate admob adView = new AdView(this); adView.setAdSize(AdSize.BANNER); // banner id in string adView.setAdUnitId(getString(R.string.banner_ad_unit_id)); // (2)request for admob AdRequest adRequest = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) .addTestDevice("HASH_DEVICE_ID") .build(); adView.loadAd(adRequest); adView.setBackgroundColor(Color.BLACK); adView.setBackgroundColor(0); // (3)layout wrapper to center and bottom admob RelativeLayout relativeLayout = new RelativeLayout(this); RelativeLayout.LayoutParams adViewParams = new RelativeLayout.LayoutParams( AdView.LayoutParams.MATCH_PARENT, AdView.LayoutParams.MATCH_PARENT); relativeLayout.setLayoutParams(adViewParams); // admob view RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams( AdView.LayoutParams.WRAP_CONTENT, AdView.LayoutParams.WRAP_CONTENT); adParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); adParams.addRule(RelativeLayout.CENTER_HORIZONTAL); adView.setLayoutParams(adParams); relativeLayout.addView(adView); Cocos2dxActivity.sContext.addContentView(relativeLayout, new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); _appActiviy = this; } public static void hideAd() { _appActiviy.runOnUiThread(new Runnable() { @Override public void run() { if (_appActiviy.adView.isEnabled()) _appActiviy.adView.setEnabled(false); if (_appActiviy.adView.getVisibility() != View.INVISIBLE) _appActiviy.adView.setVisibility(View.INVISIBLE); } }); } public static void showAd() { _appActiviy.runOnUiThread(new Runnable() { @Override public void run() { if (!_appActiviy.adView.isEnabled()) _appActiviy.adView.setEnabled(true); if (_appActiviy.adView.getVisibility() == View.INVISIBLE) _appActiviy.adView.setVisibility(View.VISIBLE); } }); } @Override protected void onResume() { super.onResume(); if (adView != null) { adView.resume(); } } @Override protected void onPause() { if (adView != null) { adView.pause(); } super.onPause(); } @Override protected void onDestroy() { adView.destroy(); super.onDestroy(); } }
(1)instanciate admob Adview is imported by gradle file
so we need to add code to build.gradle
(2)instantciate AdRequest.
Need AdRequest to show admob.
(3)Define layout wrapper to show center and bottom. Point is addRules to relativeLayout and it's layout to Cocos2dxActivity. Because Cocos2dXActivity is a parent class for AppActivity.
build.gradle
Next is build.gradle file.
Need admob import.
It's in app's build.gradle
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.firebase:firebase-ads:9.0.0' compile project(':libcocos2dx') }
I confirm version 3.15.1.