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
沒有留言:
張貼留言