Eclipse开发android问题 - admob广告

.导入google 服务

导入android sdk中的google 服务

<span style="font-size:14px;">android/sdk/extras/google/google_play_services</span>


.进入当前工程的属性页面->android

选择google服务, 以库的形式加入进来


.如果有必要, 修改版本号

下面的xml设置至少需要版本为13才可以, 选择自己的版本号


.在AndroidManifest.xml中加入

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

不设置更改的版本号, 这里会报错, smallestScreenSize这个在13版本以后才有

详见: http://www.blogjava.net/easywu/archive/2013/10/29/405775.html


.加入adview代码到cocos2dx的主类中


    //ad
    
  	private Boolean adDebug = false;
  	private AdView adView=null;
  	private LinearLayout adViewContainer = null;
  	private void jni_ad_active(int val){
  		if(!CONF_Ad)return;
     		Log.i(null, "[admob] change "+val);
     	 	if(val==1){
     	 		ad_create();
     	 	}else{
     	 		ad_remove();
     	 	}
      }
      private void ad_init(){
      	if(!CONF_Ad)return;
      	// Create the adView.
      	adViewContainer = new LinearLayout(this);  
  		adViewContainer.setOrientation(LinearLayout.VERTICAL);
  		adViewContainer.setGravity(Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL);
  		addContentView(adViewContainer, new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
//  		ad_create();
      }
      private void ad_create(){
      	if(!CONF_Ad)return;
      	if (adView==null) {
      		Log.i("Ads zszen", "[admob] create success");
      		adViewContainer.post(new Runnable() {
  				@Override
  				public void run() {
  		    		Log.i("Ads zszen", "[admob] adview display");
  					 adView = new AdView(BubbleShooter.this);
  			         adView.setAdUnitId(getResources().getString(R.string.ad_unit_id));
  			         adView.setAdSize(AdSize.BANNER);
  			         adViewContainer.addView(adView);
  			         // Initiate a generic request.
  			         AdRequest adRequest;
  			         if (adDebug) {
  			     		Log.i("Ads zszen", "[admob] debug started");
  			        	 adRequest = new AdRequest.Builder()
  				         .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
  				         .addTestDevice("BDF72BBC814EA315FEDEFC4E4138BFD3")
  				         .build();
  			         }else{
  				     	Log.i("Ads zszen", "[admob] non-debug");
  			        	 adRequest = new AdRequest.Builder().build();
  			         }
  			         // Load the adView with the ad request.
  			         adView.loadAd(adRequest);
  				}
  			});
  		}else{
      		Log.i("Ads zszen", "[admob] created yet !");
  		}
      }
      private void ad_remove(){
      	if(!CONF_Ad)return;
      	if (adView!=null) {
      		Log.i("Ads zszen", "[admob] remove");
      		adViewContainer.post(new Runnable() {
  				@Override
  				public void run() {
  					// TODO Auto-generated method stub
  					adViewContainer.removeAllViews();
  					adView=null;
  				}
  			});
  		}else{
      		Log.i("Ads zszen", "[admob] removed yet !");
  		}
      }






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值