http://www.google.com.tw/ads/admob/
選取網站或應用程式類型
填寫您的 app 資料
應用程式名稱:填入您的 app 中文名稱
Android 套裝 URL:按照提示填入您的 app 的 完整 package 名稱,如:market://details?id=com.tw.myapp
類別:選取適合您的 app 分類
應用程式說明:說明您的 app 特色,用途......等,大略寫一寫就可以了
出現下圖,點擊 "前往網站/應用程式"
因為剛申請,所以狀態還是紅燈,滑鼠移至這列,會浮現 "管理設定" 的按鈕,點擊這個按鈕
取得發佈商 ID 了
下載並安裝 admob SDK, 如果您是使用 Eclipse 編寫 Android 程式,通常您可以透過 Android SDK Manager 安裝。
或是到 https://developers.google.com/mobile-ads-sdk/ 下載安裝。
然後在 \您的 Android SDK安裝路徑\extras\google\admob_ads_sdk\ 下找到 GoogleAdMobAdsSdk-版本.jar,複製放到您專案的 libs 資料夾內。
滑鼠移到專案上,按右鍵、選 "Refresh" 後,再選 "Properties"
點左方的 "Android",勾選目標編譯平台要在 13 之後,以我的例子來說,我勾選的是 14
再點左方的 "Java Build Path" ==> 右上方的 "Libraries" 頁籤 ==> 可以看到剛剛放進 libs 的 GoogleAdMobAdsSdk
在 AndroidManifest.xml 中宣告 com.google.ads.AdActivity 及 uses-permission
- ...
- ...
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- <uses-permission android:name="android.permission.INTERNET" />
- ...
- ...
- <application>
- ...
- ...
- <activity
- android:name="com.google.ads.AdActivity"
- android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
- ...
- ...
- </application>
開啟要放 AdMob 廣告的 Layout,
- <LinearLayout
- ...
- ... >
- <!-- AdMob -->
- <!-- 我將廣告放置在畫面的最上方 -->
- <LinearLayout
- android:id="@+id/adMob"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal" >
- </LinearLayout>
- ...
- ...
- </LinearLayout>
開啟對應上述 Layout 的 activity
- import com.google.ads.*;
- ...
- ...
- public class MainActivity extends Activity
- {
- private AdView adView;
- ...
- ...
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- ...
- ...
- setContentView(R.layout.main);
- // 建立 adView
- adView = new AdView(this, AdSize.BANNER, "AdMob的 ID");
- LinearLayout layout = (LinearLayout) findViewById(R.id.adMob);
- // 在 layout 中加入 adView
- layout.addView(adView);
- // 在這裡列出不計入 AdMob 廣告的裝置
- // 這些裝置會顯示假廣告
- // 以免您誤按到廣告而被 AdMob 懷疑您作弊
- // 而將您停權
- AdRequest adRequest = new AdRequest();
- adRequest.addTestDevice(AdRequest.TEST_EMULATOR); // 模擬器
- adRequest.addTestDevice("實體機ID"); // 實體機
- adView.loadAd(adRequest);
- ...
- ...
- }
- ...
- ...
- @Override
- public void onDestroy()
- {
- adView.destroy();
- super.onDestroy();
- }
- ...
- ...
- }
在模擬器上執行 app,就會如下圖,在畫面上方顯示假的廣告。
注意:如果 AdMob 是第一次收到您的發佈商編號,廣告最多可能要過兩分鐘才會傳回;只要編號在 24 小時內都沒有使用,一開始都會出現這兩分鐘的延遲。
要如何取得實體機的 ID?首先您要將 app 改為在實體機上開發,請參考 在實體裝置進行 app 開發
在實體機上執行您的 app,Eclipse 會開始列出 LogCat,點一下綠色的 + 號,出現 "Logcat MessageFilter Settings" 視窗,Filter Name 和 by Log Tag 填入 ads,表示我們只要找跟 ads 相關的 log。
然後找到下圖的 log
在 call adRequest.addTestDevice() 括號內的那段字串就是實體機的 ID
點擊右上角的磁片圖示,將這個 log 存成文字檔,再將 ID 字串貼入您的程式碼中,重新執行 app,這時在實體機上顯示的就是假廣告了。
如果無法存成文字檔,就乖乖地手抄下來吧......
再回 AdMob 看,這個 app 的狀態已經變成綠燈,開始賺廣告費了。 :-D
沒有留言:
張貼留言