開始使用

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

事前準備

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

應用程式必要條件

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

    • minSdkVersion19 以上
    • compileSdkVersion28 以上

在 AdMob 帳戶中設定應用程式

如要將應用程式註冊為 AdMob 應用程式,請完成下列步驟:

  1. 登入註冊 AdMob 帳戶。

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

設定應用程式

  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:22.4.0'
    }
    
  3. 將 AdMob 應用程式 ID (如 AdMob網頁介面中的辨識) 新增至應用程式的 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 可用時加以存取。

    如果應用程式使用 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 並在初始化完成後)、呼叫完成事件監聽器來初始化 Google Mobile Ads SDK。這項操作只需要執行一次,最好是在應用程式啟動時執行。

Google Mobile Ads SDK 或中介服務合作夥伴的 SDK 會在呼叫 MobileAds.initialize() 時預先載入。如果您需要取得歐洲經濟區 (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 行動廣告存放區會示範如何使用這個 API 提供的不同廣告格式。