6.17.2011

[Android] 使用 GoogleAdMobAdsSdk-4.1.1.jar
在 Android 程式中投放 AdMob 廣告

「AdMob」現在可以推播「AdSense for Mobile Applications」的廣告,貌似Google 想用 AdMob for Mobile Apps 取代 AdSense for Mobile Applications,推播AdMob廣告的程式代碼也有大翻修,這裡來紀錄一下新版 GoogleAdMobAdsSdk-4.1.1.jar or GoogleAdMobAdsSdk-4.1.0.jar 的步驟。

將Google AdMob嵌入Android程式中有三個步驟
1. 將SDK JAR增加到Eclipse專案之中
2. 宣告com.google.ads.AdActivity
3. 設定網路連線許可


  • 新增SDK JAR
    1. 在 Eclipse 專案按下滑鼠右鍵,選擇「Properties」
    寄件者 Blogger


    2. 點選Java Build Path-> Libraries-> Add External JARs...,將你所存的 GoogleAdMobAdsSdk-4.1.0.jar 添加到專案之中
    寄件者 Blogger



  • 宣告com.google.ads.AdActivity
    在AndroidManifest.xml中宣告com.google.ads.AdActivity

    <activity android:name="com.google.ads.AdActivity"
    android:configChanges="keyboard|keyboardHidden|orientation"/>



  • 連線許可
    一樣在AndroidManifest.xml中添加 INTERNET 和ACCESS_NETWORK_STATE的許可

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


    <manifest android:versioncode="1" android:versionname="1.0" package="com.company" xmlns:android="http://schemas.android.com/apk/res/android">
      <application android:debuggable="true" android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:label="@string/app_name" android:name="BannerExample">
          <intent-filter>
            <action android:name="android.intent.action.MAIN">
            <category android:name="android.intent.category.LAUNCHER">
          </category></action></intent-filter>
        </activity>
    
    <!-- 這裡開始 com.google.ads.AdActivity -->
    <activity android:name="com.google.ads.AdActivity"
                  android:configChanges="keyboard|keyboardHidden|orientation"/>
    <!-- 這裡結束 -->
    </application>
    
    
    <!-- 這裡開始 INTERNET 和 ACCESS_NETWORK_STATE -->
      <uses-permission android:name="android.permission.INTERNET"/>
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <!-- 這裡結束 -->
    
    </manifest>
    
    

    現在,我們可以測試一下囉!發現:有時廣告請求並無法馬上投放,當請求次數多時投放率也會跟著提高喔!

    import com.google.ads.*;
    
    public class BannerExample extends Activity {
      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        // Create the adView
        AdView adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID);
        // Lookup your LinearLayout assuming it’s been given
        // the attribute android:id="@+id/mainLayout"
        LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
    
        // Add the adView to it
        layout.addView(adView);
        
        // Initiate a generic request to load it with an ad
        adView.loadAd(new AdRequest());
      }
    }
    

    另外,這種方式只適用於初學者練習,較不利於在UI排版,呼~ 花了兩小時整裡,先休息一下再來出個進階版教學文件。
  • 沒有留言: