開始使用

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

事前準備

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

應用程式必要條件

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

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

在 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.2.0'
    }
    
  3. 將 AdMob 應用程式 ID (在AdMobUI 中識別) 新增至應用程式的 AndroidManifest.xml 檔案中。為此,請使用 android:name="com.google.android.gms.ads.APPLICATION_ID" 新增 <meta-data> 標記。您可以在 AdMob 使用者介面中找到應用程式 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,必須在 Google Mobile Ads SDK 的 AndroidManifest.xml 檔案中新增 com.google.android.gms.permission.AD_ID 權限,才能存取廣告 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 Google 提供多種廣告格式,讓您根據應用程式體驗選擇最合適的格式。

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

導入橫幅廣告

插頁式

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

導入插頁式廣告

原生

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

導入原生廣告

已獲得獎勵

獎勵在使用者觀看短片並與可試玩廣告及問卷調查互動的廣告。用於透過免費應用程式營利。

導入獎勵廣告

其他資源

GitHub 上的 Google 行動廣告存放區示範如何使用這個 API 提供的不同廣告格式。