踏出第一步

AdMob 中介服務可讓您在同一個位置,放送眾多來源的廣告,包括 AdMob 聯播網和第三方廣告來源的廣告。AdMob 中介服務會向多個聯播網送出廣告請求,以確保您透過最合適的聯播網放送廣告,進而提高您的廣告供應率和收益。個案研究

必要條件

如要整合廣告格式的中介服務,您必須先將該廣告格式整合至應用程式:

第一次使用中介服務嗎?請參閱「AdMob 中介服務總覽」。

出價: Google Mobile Ads SDK 18.3.0 以上版本。

初始化 Google Mobile Ads SDK

快速入門指南說明如何初始化 Google Mobile Ads SDK。在該初始化呼叫期間,中介服務轉接程式也會初始化。請務必等待初始化作業完成,再載入廣告,確保每個廣告聯播網都能參與第一次廣告請求。

下列程式碼範例說明如何在發出廣告請求前,檢查每個中介服務的初始化狀態。

Java

public void initialize(Context context) {
  new Thread(
          () ->
              // Initialize the Google Mobile Ads SDK on a background thread.
              MobileAds.initialize(context, this::logAdapterStatus))
      .start();
}

private void logAdapterStatus(InitializationStatus initializationStatus) {
  // Check each adapter's initialization status.
  Map<String, AdapterStatus> statusMap = initializationStatus.getAdapterStatusMap();
  for (Map.Entry<String, AdapterStatus> entry : statusMap.entrySet()) {
    String adapterClass = entry.getKey();
    AdapterStatus status = entry.getValue();
    Log.d(
        TAG,
        String.format(
            "Adapter name: %s, Description: %s, Latency: %d",
            adapterClass, status.getDescription(), status.getLatency()));
  }
}

Kotlin

fun initialize(context: Context) {
  CoroutineScope(Dispatchers.IO).launch {
    // Initialize the Google Mobile Ads SDK on a background thread.
    MobileAds.initialize(context, ::logAdapterStatus)
  }
}

private fun logAdapterStatus(initializationStatus: InitializationStatus) {
  // Check each adapter's initialization status.
  for ((adapterClass, status) in initializationStatus.adapterStatusMap) {
    Log.d(
      TAG,
      "Adapter: $adapterClass, Status: ${status.description}, Latency: ${status.latency}ms",
    )
  }
}

檢查載入廣告的廣告聯播網轉接程式類別

以下是記錄橫幅廣告廣告聯播網類別名稱的部分程式碼範例:

Java

ResponseInfo responseInfo = ad.getResponseInfo();
String adapterClassName = null;
if (responseInfo != null) {
  adapterClassName = responseInfo.getMediationAdapterClassName();
}
Log.d(TAG, "Adapter class name: " + adapterClassName);

Kotlin

Log.d(TAG, "Adapter class name:" + ad.responseInfo?.mediationAdapterClassName)

如要進一步瞭解這個方法,請參閱 ResponseInfo getMediationAdapterClassName() 說明文件。

使用 Activity 例項初始化廣告物件

在新廣告物件 (例如 AdView) 的建構函式中,您必須傳入 Context 類型的物件。使用中介服務時,這個 Context 也會傳遞給其他廣告聯播網。有些廣告聯播網對 Context 的要求較嚴格,必須是 Activity 類型,而且沒有 Activity 例項就可能無法正常放送廣告。因此,建議在初始化廣告物件時傳遞 Activity 例項,確保中介廣告聯播網能提供一致體驗。

請務必在所有第三方廣告來源 UI 中,停用 AdMob 中介服務所用橫幅廣告單元的重新整理功能。這樣可避免重複重新整理,因為 AdMob 也會根據橫幅廣告單元的重新整理頻率觸發重新整理。

搭配 AdMob 中介服務使用原生廣告

在 AdMob 中介服務中導入原生廣告時,請考慮下列最佳做法。

原生廣告呈現方式政策
每個廣告聯播網都有自己的政策。使用中介服務時,請務必注意,應用程式仍須遵守提供廣告的中介服務聯播網政策。
loadAd() 取代 loadAds()
loadAds() 方法僅適用於 Google 廣告。如果是中介服務廣告,請改用 loadAd()

美國州級隱私權法律和 GDPR

如需遵守美國州級隱私權法一般資料保護規則 (GDPR),請按照美國州級法規設定GDPR 設定中的步驟,在 AdMob「隱私權與訊息」的美國州別或 GDPR 廣告合作夥伴名單中,加入中介服務合作夥伴。否則合作夥伴可能無法在您的應用程式中放送廣告。

進一步瞭解如何使用 Google User Messaging Platform (UMP) SDK 啟用受限的資料處理模式 (RDP),以及取得 GDPR 同意聲明。