開始使用

將 Google Mobile Ads SDK 整合到應用程式中,是顯示廣告及賺取收益的第一步。整合 SDK 後,您可以選擇廣告格式 (如原生或獎勵影片廣告),然後按照相關步驟導入。

事前準備

如要讓應用程式做好準備,請完成下列各節的步驟。

應用程式必要條件

  • 使用 Android Studio 3.2 以上版本
  • 請確認應用程式的版本檔案使用下列的值:

    • 19 中的 minSdkVersion 或以上版本
    • 28 中的 compileSdkVersion 或以上版本

在 AdMob 帳戶中設定應用程式

請按照下列步驟註冊應用程式,做為 AdMob 應用程式:

  1. 登入申請 AdMob 帳戶。

  2. 使用 AdMob 註冊應用程式。這個步驟會建立使用專屬 AdMob 應用程式 ID 的 AdMob 應用程式,稍後在本指南中會用到這個編號。

設定應用程式

  1. 在專案層級的 build.gradle 檔案中,在 buildscriptallprojects 區段中加入 Google 的 Maven 存放區Maven 中央存放區

    buildscript {
        repositories {
            google()
            mavenCentral()
        }
    }
    
    allprojects {
        repositories {
            google()
            mavenCentral()
        }
    }
    
  2. 將 Google Mobile Ads SDK 的依附元件加進模組層級的 Gradle 檔案 (通常是 app/build.gradle):

    dependencies {
      implementation 'com.google.android.gms:play-services-ads:21.0.0'
    }
    
  3. 將 AdMob 應用程式 ID (在AdMobUI 中識別) 加進應用程式的 AndroidManifest.xml 檔案中。方法是新增包含 android:name="com.google.android.gms.ads.APPLICATION_ID"<meta-data> 標記。您可以在 AdMob UI 中找到應用程式 ID。針對 android:value,請插入您自己的 AdMob 應用程式 ID,並以引號括住。

    <manifest>
        <application>
            <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
            <meta-data
                android:name="com.google.android.gms.ads.APPLICATION_ID"
                android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
        </application>
    </manifest>
    

    在實際應用程式中,請使用您的實際 AdMob 應用程式 ID,而非上述 ID。如果您只想在 Hello World 應用程式中測試 SDK,可以使用上方的範例應用程式 ID。

    另請注意,若未依照上述方式新增 <meta-data> 標記,會導致當機並發生訊息:

    The Google Mobile Ads SDK was initialized incorrectly.
    

    (選用) 針對舊版,宣告 AD_ID 權限以搭配 Android 13 使用。

    如果您的應用程式使用 Google Mobile Ads SDK 20.4.0 以上版本,可以略過這個步驟,因為 SDK 會自動宣告 com.google.android.gms.permission.AD_ID 權限,且在廣告 ID 可用時皆可存取廣告 ID。

    針對使用 Google Mobile Ads SDK 20.3.0 以下版本,且指定 Android 13 的應用程式,您必須在 AndroidManifest.xml 檔案中新增 com.google.android.gms.permission.AD_ID 權限,讓 Google Mobile Ads SDK 存取廣告 ID:

    <manifest>
        <application>
            <meta-data
                android:name="com.google.android.gms.ads.APPLICATION_ID"
                android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    
            <-- For apps targeting Android 13 or higher & GMA SDK version 20.3.0 or lower -->
            <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
    
        </application>
    </manifest>
    

    如要進一步瞭解 com.google.android.gms.permission.AD_ID 權限宣告,以及如何停用該權限,請參閱這篇 Play 管理中心文章。

初始化 Google Mobile Ads SDK

載入廣告之前,請先呼叫 MobileAds.initialize() 初始化 SDK,並在初始化完成後 (或經過 30 秒逾時後) 呼叫完成的事件監聽器,以初始化 Google Mobile Ads SDK。這只需要進行一次,最好是在應用程式啟動時執行。

廣告呼叫 MobileAds.initialize() 時,Google Mobile Ads SDK 或中介服務合作夥伴 SDK 可能會預先載入廣告。如果您需要取得歐洲經濟區 (EEA) 使用者的同意,請設定任何與要求相關的旗標 (例如 tagForChildDirectedTreatmenttag_for_under_age_of_consent),或是在載入廣告前採取行動,請務必先完成這項操作,再初始化 Google Mobile Ads SDK。

以下示範如何在「活動」中呼叫 initialize() 方法:

MainActivity (摘錄) 範例

Java

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;

public class MainActivity extends AppCompatActivity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });
    }
}

Kotlin

import com.google.android.gms.ads.MobileAds

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        MobileAds.initialize(this) {}
    }
}

若您目前使用中介服務,請等到系統完成完成處理常式後,再載入廣告,否則可確保所有中介服務轉接程式都已初始化。

選取廣告格式

Google Mobile Ads SDK 現在已匯入完畢,您就可以開始導入廣告了。 AdMob 廣告提供多種廣告格式,方便您選擇最符合應用程式使用者體驗的格式。

顯示在裝置螢幕頂端或底部的矩形廣告。 橫幅廣告會在使用者與應用程式互動時持續顯示,而且可在一段時間後自動重新整理。如果您是第一次使用行動廣告,不妨從這裡開始著手。

導入橫幅廣告

插入式檔案

這類全螢幕廣告會覆蓋應用程式介面,直到使用者關閉為止。 無論是在應用程式執行過程中的自然暫停階段 (例如遊戲關卡之間或工作完成之後),這類應用程式都適合在自然暫停期間使用。

導入插頁式廣告

原生

提供符合應用程式外觀和風格的自訂廣告。您可以決定廣告的位置和位置,讓版面配置與應用程式的設計風格更加一致。

導入原生廣告

已獲得獎勵

這類廣告會在使用者觀看短片及與可試玩的廣告及問卷調查互動時提供獎勵。用於透過免費遊戲應用程式營利。

導入獎勵廣告

其他資源

GitHub 上的 Google Mobile Ads 存放區示範如何使用這個 API 提供的各種廣告格式。