android应用中加入admob(unity,eclipse均可)
2012-03-16 10:30
651 查看
1.注册admob账号,获取ID 网址http://www.admob.com
2.下载admob的SDK,在eclipse中导入admob的jar包
4.我使用的是4.3.1的版本,这个版本要求SDK版本在3.2以上,即在project.properties文件中target=android-13,如果这个不改,那么在AndroidManifest.xml的配置中,你就悲剧了。
5.AndroidManifest.xml配置如下
6.代码设置如下,适用于Unity:
我没有用xml进行布局,直接代码控制布局叠加在当前布局之上,间隔一段时间就会出现广告,点击广告上的关闭按钮,进行关闭。
如果是在Unity进行添加,还需导入classes.jar的包,然后继承UnityPlayerActivity类。如果不是的话,直接继承Activity类。然后在onCreate设置你的View
2.下载admob的SDK,在eclipse中导入admob的jar包
4.我使用的是4.3.1的版本,这个版本要求SDK版本在3.2以上,即在project.properties文件中target=android-13,如果这个不改,那么在AndroidManifest.xml的配置中,你就悲剧了。
5.AndroidManifest.xml配置如下
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mjm.nono" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name=".AdsActivity" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:name="com.google.ads.AdActivity" /> </application> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> </manifest>如果没有修改之前的project.properties文件中target=android-13,
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"这句话就会报错。因为uiMode是到8才出现的,而screenSize和smallestScreenSize是到13才出现的。
6.代码设置如下,适用于Unity:
我没有用xml进行布局,直接代码控制布局叠加在当前布局之上,间隔一段时间就会出现广告,点击广告上的关闭按钮,进行关闭。
如果是在Unity进行添加,还需导入classes.jar的包,然后继承UnityPlayerActivity类。如果不是的话,直接继承Activity类。然后在onCreate设置你的View
public class AdsActivity extends UnityPlayerActivity { protected static final int HANDLER_SHOW = 0; protected static final int HANDLER_HIDE = 1; private boolean adVisible = true; private AdView adView; private Button bt1; boolean show = false; Timer timer; boolean rec=false; Handler h = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case HANDLER_HIDE: if (adVisible) { System.out.println("hahahahah"); bt1.setVisibility(View.GONE); adView.setVisibility(View.GONE); adVisible = false; show = true; } break; case HANDLER_SHOW: if (!adVisible) { bt1.setVisibility(View.VISIBLE); adView.setVisibility(View.VISIBLE); adVisible = true; show = false; } break; default: break; } } }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ShowAds(); timer = new Timer(true); timer.schedule(task, 1000, 10000); } TimerTask task = new TimerTask() { public void run() { System.out.println("start"); if (!adVisible&&rec) { Message message = new Message(); message.what = HANDLER_SHOW; h.sendMessage(message); } } }; @Override public void onDestroy() { if (adView != null) { adView.destroy(); } timer.cancel(); super.onDestroy(); } public void ShowAds() { RelativeLayout layout2 = new RelativeLayout(this); adView = new AdView(this, AdSize.IAB_BANNER, "a14f436bec13378"); AdRequest adRequest = new AdRequest(); adView.loadAd(adRequest); adView.setAdListener(new AdListener() { @Override public void onReceiveAd(Ad arg0) { // TODO Auto-generated method stub bt1.setVisibility(View.VISIBLE); System.out.println("ad rec"); rec=true; } @Override public void onPresentScreen(Ad arg0) { // TODO Auto-generated method stub } @Override public void onLeaveApplication(Ad arg0) { // TODO Auto-generated method stub } @Override public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) { // TODO Auto-generated method stub } @Override public void onDismissScreen(Ad arg0) { // TODO Auto-generated method stub } }); RelativeLayout.LayoutParams lpLayoutParams2 = new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); lpLayoutParams2.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); layout2.addView(adView, lpLayoutParams2); bt1 = new Button(this); bt1.setText("close"); bt1.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); RelativeLayout.LayoutParams lpLayoutParams = new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); lpLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); layout2.addView(bt1, lpLayoutParams); bt1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub System.out.println("close"); h.sendEmptyMessage(HANDLER_HIDE); } }); bt1.setVisibility(View.GONE); addContentView(layout2, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); } }
相关文章推荐
- AdMob的Android应用程序添加(Unity,Eclipse可以)
- Unity Android平台的AdMob的应用
- Unity Android平台AdMob应用
- unity vr ar手机应用集成谷歌广告Admob教程
- 如何在Android应用中加入广告
- Android应用开发系列(1)——Eclipse环境搭建
- Unity中加入Android项目的Build步骤
- eclipse 上调试android的自带应用方法
- 在Android系统中如何给应用增加分享功能,怎样将应用加入系统的分享选择列表?
- 关于Unity导出的Android应用在小米、联想等机型上崩溃的问题
- android eclipse上应用SD卡
- Unity中加入Android项目的Build步骤
- 在Eclipse中开发Android系统的内置应用(Mms, Contacts ect)
- eclipse 上调试android的自带应用方法
- 如何在Android应用中加入广告
- android应用因为加入js而导致webview一直在加载中的bug解决方案
- android应用 eclipse+ADT 签名、打包 详解
- 在Android应用中放置AdMob广告的详细教程
- 跟我学android-使用Eclipse开发第一个Android应用(三)
- 如何:在Android应用中加入广告方法步骤!