2018年5月5日

Android - 在你的App中加入AdMob廣告

除了收費App、App內購買之外,不少開發者都會用加入廣告的方法來賺取收入,今天就跟宅貓一起看看怎樣在App中加入AdMob廣告吧!

首先,你必須先申請一個AdMob帳號

AdMob官網:
https://www.google.com/admob/


申請過程不算複雜,這邊就不詳細講了,但注意一定要確保資料輸入正確,宅貓當初笨笨的選錯了國家地區,後面填手機號碼才發現不是自己的區號,想要修改才發現某些國家(如下)填錯了不能改orz


孟加拉
中國
印度
印尼
馬來西亞
尼泊爾巴基斯坦
菲律賓
新加坡
斯里蘭卡
泰國
越南



因為AdMob只允許一人一帳號,如果資料填錯了就只能刪除帳號再重新開一個,刪除帳號必須同時刪除Adwords及AdSense帳號,但宅貓根據說明在AdSense根本找不到刪除按鈕,搞了半天最後找到報單提出申請才解決,所以一定要確保資料輸入正確!


成功申請後按新增應用程式,你可以選擇加入橫幅廣告/插頁式廣告/獎勵廣告
填好資料後你會得到一組應用程式ID及一組廣告單元ID
-應用程式ID是用作識別你的App
-廣告單元ID是用左識別你的廣告
注意:你不可以使用自己的廣告ID在實機上測試,如果想測試廣告有否正常運行,必須使用官方提供的示例廣告單元ID或者使用自己的廣告ID並啟用測試設備,詳見測試廣告說明,如果你沒有進入測試模式並點擊了自己的廣告,有可能被封鎖帳號且不能重新申請帳號


加入AdMob廣告:

1.開啟左手邊Gradle Scripts中的build.gradle(Project:name)
allprojects中加入
maven {
url "https://maven.google.com"}


2.開啟左手邊Gradle Scripts中的build.gradle(Module:app)
在dependencies中加入

implementation 'com.google.android.gms:play-services-ads:15.0.1'
3.在activity.xml中加入Banner Ads
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
</com.google.android.gms.ads.AdView>

紅字是官方測試ID,打包上架前記得換成自己的廣告單元ID
如果有多個activity,推薦在values>strings新增代替

<string name="banner_ad_unit_id">ca-app-pub-3940256099942544/6300978111</string>


4.在activity.java中加入
private AdView mAdView;

MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");

mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
紅字改成自己的應用程式ID 


5.在manifests.xml中加入

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

(2)<meta-data android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

(3)<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />


完成!
如想加入其他種類廣告,可參考:
https://developers.google.com/admob/android/quick-start?hl=zh-TW



~~~ 歡迎留言一起討論交流^^ ~~~

3 則留言:

  1. 非常謝謝你,幫了我大忙
    想請問有沒有IOS教學呢

    回覆刪除
  2. 請問大大 在不同的Activity中廣告單元ID
    ads:adUnitId="ca-app-pub-3940256099942544/6300978111"
    的這個碼 是都要用同一組嗎
    還是不同頁面的廣告單元ID 要不同呢?

    回覆刪除
  3. 謝分享!幫了大忙!超級實用! ^^

    回覆刪除