代码改变世界

在Android中嵌入AdMob广告

2014-05-15 18:04  playerboy  阅读(554)  评论(0编辑  收藏  举报

http://my.oschina.net/noahxiao/blog/61987?from=rss

先不管能不能实现了,在公司,保存了回去再说。

AdMob(现被Google收购)提供了移动设备加入广告接口,并会分给发布者一定的经济利润。

对于Android程序员来说,午饭钱是有了。

1、注册AdMob

访问http://www.admob.com

点击这个链接

如果你有Google账户就好办了,直接选Sign in With your Google Account

然后输入Google的Password就可以登录了

填写基本账户信息,这个不关键,不是付款信息,Account Type选Publisher

然后完善付款信息

注意用英文填写,以上为招商银行的例子。(我也是刚用,不保证可以收到汇款)。

以下为网友总结:

1. 本人使用的是具有美元(子)账户的招商银行金卡(借记卡)

2. 在税务信息里面分别选择: 中国 - 个人 - 您的姓名 - 税务ID不填写

3. 在付款详细信息里面分别选择(这里面都是英文):

  通过 ACH/电汇付款 

  收款人姓名: 填写银行卡上面的姓名拼音(银行卡上面有钢印的名字)

  银行名称: 填写招商银行的名称(其他银行应该类似,可以质询具体的银行服务员) China Merchants Bank, H.O. Shenzhen, China

  银行地址: 填写总部地址 China Merchants Bank Tower NO.7088, Shennan Boulevard, Shenzhen, China

  收款人银行帐号/IBAN: 填写您的借记卡账户

  银行 SWIFT 代码: 每个银行都有的,可以质询客服, 招商银行的是  CMBCCNBS(这里不用具体到下面的分行,直接填写国内总行的代码就可以了,电汇到总行后,银行会根据您的账户 自动转账给您的)

另外 admob电汇是在金额大于100美元(好像是这样吧)的时候才电汇的,不是那个最小支付额度,如果当月不想电汇 可以在收款人前面添加HOLD 来保留当前的汇款. 

ok,账户的配置部分就先到这里。

2、在AdMob中加入新应用

找到Sites&Apps菜单,选择里面的Add Site/App

打开后选择Android App,输入应用的一些基本信息

3、下载AdMob Android SDK

成功创建后会看到

把AdMob Android SDK(googleadmobadssdkandroid.zip)下载下来。

4、在你的Android应用中加入AdMob SDK

把下载的googleadmobadssdkandroid.zip解压开你会看到一个GoogleAdMobAdsSdk-6.0.1.jar

把这个文件copy到项目的libs中

再把它添加到Java Build Path中

5、添加AdMob配置与布局

首先在AndroidManifest.xml中加入

01 <?xml version="1.0" encoding="utf-8"?>
02 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
03     package="org.noahx.scalaandroid"
04     android:versionCode="1"
05     android:versionName="1.0" >
06  
07     <uses-sdk android:minSdkVersion="15" />
08  
09     <uses-permission android:name="android.permission.INTERNET" />
10     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
11  
12     <application
13         android:icon="@drawable/ic_launcher"
14         android:label="@string/app_name" >
15         <activity
16             android:name=".ScalaAndroidActivity"
17             android:label="@string/app_name" >
18             <intent-filter>
19                 <action android:name="android.intent.action.MAIN" />
20  
21                 <category android:name="android.intent.category.LAUNCHER" />
22             </intent-filter>
23         </activity>
24         <activity
25             android:name="com.google.ads.AdActivity"
26             android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
27     </application>
28  
29 </manifest>

 

a.加入访问网络与internet权限

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

b.加入AdActivity

1 <activity
2            android:name="com.google.ads.AdActivity"
3            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

 

然后layout中加入一个LinearLayout准备放广告

6、修改你的主Activity,加入 AdMob代码

注意//admob注释为加入代码
01 package org.noahx.scalaandroid
02  
03 import android.app.Activity
04 import android.os.Bundle
05 import android.widget.Button
06 import android.widget.TextView
07 import android.view.View
08 import FindView._
09 import android.widget.LinearLayout
10 import com.google.ads.AdView
11 import com.google.ads.AdSize
12 import com.google.ads.AdRequest
13  
14 class ScalaAndroidActivity extends Activity with FindView {
15  
16   lazy val text = findView[TextView](R.id.text1)
17   lazy val button = findView[Button](R.id.button1)
18   lazy val linearLayout = findView[LinearLayout](R.id.linearlayout1)      //admob
19  
20   lazy val adView = new AdView(this, AdSize.BANNER, "a14xxxxxxxxxxx")     //admob
21  
22   override def onCreate(savedInstanceState: Bundle) = {
23     super.onCreate(savedInstanceState)
24  
25     setContentView(R.layout.main)
26  
27     button.onClick { view: View =>
28       text.setText("hello scala1!!!")
29     }
30  
31     linearLayout.addView(adView)       //admob
32     adView.loadAd(new AdRequest())     //admob
33   }
34  
35   override def onDestroy() = {
36     if (adView != null) {              //admob
37       adView.destroy()                 //admob
38     }                                  //admob
39     super.onDestroy()
40   }
41 }

 

注意a14xxxxxxxxxxx,这个ID在以下页面查看

进入Sites&Apps中Sites&Apps,在下面找到你建的test1这个app。点(Manage Settings)就可以打开以下页面


Publisher ID就是在new AdView的最后的参数。

7、运行效果

8、看看我们的午饭钱

注意统计有延时