開始使用

使用 AdMob 中介服務,您就能在應用程式中 包括 AdMob 聯播網、第三方廣告來源及 AdMob 廣告活動。 AdMob 中介服務可協助您提高供應率,進而增加收益 向多個聯播網發送廣告請求 可用的聯播網來放送廣告 個案研究

先備知識

您必須先整合 導入應用程式後

第一次使用中介服務嗎?已讀 AdMob 中介服務總覽

出價: Google Mobile Ads SDK 18.3.0 或更高版本。

初始化 Mobile Ads SDK

快速入門指南將說明如何初始化行動廣告 SDK。 在初始化呼叫期間,中介服務轉接程式也會 Pod 都會經過初始化請務必等待初始化完成, 為了確保使用者能完整參與 發出第一個廣告請求

以下程式碼範例說明如何查看每個轉接程式的初始化作業 未送出廣告請求前的狀態。

Java

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
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);

        new Thread(
                () ->
                    // Initialize the Google Mobile Ads SDK on a background thread.
                    MobileAds.initialize(
                        this,
                        initializationStatus -> {
                          Map<String, AdapterStatus> statusMap =
                              initializationStatus.getAdapterStatusMap();
                          for (String adapterClass : statusMap.keySet()) {
                            AdapterStatus status = statusMap.get(adapterClass);
                            Log.d(
                                "MyApp",
                                String.format(
                                    "Adapter name: %s, Description: %s, Latency: %d",
                                    adapterClass, status.getDescription(), status.getLatency()));
                          }
                          // Start loading ads here...
                        }))
            .start();
    }
}

Kotlin

import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

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

    val backgroundScope = CoroutineScope(Dispatchers.IO)
    backgroundScope.launch {
      // Initialize the Google Mobile Ads SDK on a background thread.
      MobileAds.initialize(this@MainActivity) { initializationStatus ->
        val statusMap =
          initializationStatus.adapterStatusMap
        for (adapterClass in statusMap.keys) {
          val status = statusMap[adapterClass]
          Log.d(
            "MyApp", String.format(
              "Adapter name: %s, Description: %s, Latency: %d",
              adapterClass, status!!.description, status.latency
            )
          )
        }
        // Start loading ads here...
      }
    }
  }
}

查看哪個廣告聯播網轉接程式類別載入廣告

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

Java

public void onAdLoaded() {
  Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}

Kotlin

override fun onAdLoaded() {
  Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}

請參閱「getMediationAdapterClassName()」的 ResponseInfo 說明文件 進一步瞭解這個方法

透過活動例項初始化廣告物件

在新廣告物件的建構函式中 (例如: AdView), 您必須傳入類型為「 Context. 使用中介服務時,這個Context會傳遞至其他廣告聯播網。只有部分通知 廣告聯播網需要在類型中限制更嚴格的 Context Activity 如果沒有 Activity 例項,廣告可能無法放送。因此 建議您在初始化廣告物件時傳入 Activity 例項 ,確保中介服務廣告聯播網提供一致的體驗。

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

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

以下是導入原生廣告時可考慮的一些最佳做法 支援這項功能

原生廣告展示政策
每個廣告聯播網都有各自的政策。使用中介服務時 請注意,您的應用程式仍必須遵守中介服務 提供該廣告的聯播網
loadAd() 取代 loadAds()
loadAds() 方法只會放送 Google 廣告。如果是中介服務廣告,請使用 請改為使用「loadAd()」。

美國州級隱私權法律和 GDPR

如果您需要遵守美國州級隱私權 法律或一般資料保護規則 法規 (GDPR),請遵守 美國州級法規中的步驟 設定GDPR 設定 AdMob《隱私權與》中介服務合作夥伴訊息 美國各州或 GDPR 廣告合作夥伴名單。如未提供這些資訊,可能會導致合作夥伴 就無法在您的應用程式中放送廣告

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