分享您的意見,協助我們打造 Google Mobile Ads SDK 的藍圖。請在 2023 年 5 月 5 日以前完成 Google Mobile Ads SDK 2023 年年度問卷調查

開始使用

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

使用 AdMob 中介服務,您就能針對多種來源 (包括 AdMob 聯播網、第三方廣告聯播網和 AdMob 廣告活動) 在應用程式中放送廣告。AdMob 中介服務可向多個聯播網送出廣告請求,以確保您能找到最適合放送廣告的聯播網,藉此提高廣告供應率和收益。 個案研究

必要條件

您必須先將廣告格式整合到應用程式中,才能為廣告格式整合中介服務:

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

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

初始化 Mobile Ads SDK

這份快速入門指南會說明如何初始化 Mobile Ads SDK。 在該初始化呼叫期間,中介服務和出價轉接程式也會初始化。請務必等待初始化完成,再載入廣告,以確保第一個廣告請求在各個廣告聯播網上全面參與。

下列程式碼範例顯示如何在發出廣告請求之前,查看每個轉接程式的初始化狀態。

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);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus 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...
            }
        });
    }
}

Kotlin

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

MobileAds.initialize(this) { 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 說明文件。

使用 Activity 執行個體初始化廣告物件

在新廣告物件的建構函式 (例如 AdView)、 您必須傳入 Context 類型的物件。採用中介服務時,這個 Context 會傳送到其他廣告聯播網。部分廣告聯播網需要較為嚴格的 Context,屬於 Activity 類型。如果沒有 Activity 執行個體,系統可能無法放送廣告。因此,建議您在初始化廣告物件時傳入 Activity 例項,以確保在中介服務廣告聯播網提供一致的體驗。

請務必針對所有 AdMob 中介服務中介服務橫幅廣告單元中的第三方廣告聯播網,停用其重新整理功能。這樣可以防止重新整理兩次,因為 AdMob 也會根據橫幅廣告單元的重新整理頻率觸發重新整理。

獎勵廣告中介服務

我們建議您在 AdMob UI 中設定獎勵值,以覆寫所有預設獎勵價值。 方法是選取 [套用到中介服務中的所有聯播網] ,讓獎勵在所有聯播網中都保持一致。部分廣告聯播網完全未提供獎勵值或類型。無論放送哪一種廣告聯播網,只要覆寫獎勵值,獎勵就會保持一致。

如要進一步瞭解如何在 AdMob UI 中設定獎勵價值,請參閱「建立獎勵廣告單元」一文。

原生廣告中介服務

以下是實作原生中介服務時的一些最佳做法。

原生廣告呈現政策
每個廣告聯播網都有專屬的政策。使用中介服務時,請務必謹記,您的應用程式仍然必須遵守提供廣告的中介聯播網政策。
使用 loadAd() 取代 loadAds()
loadAds() 方法目前只會放送 Google 廣告。如果是中介服務廣告,請改用 loadAd()

CCPA 和 GDPR

如果您需要遵守《加州消費者隱私法 (CCPA)》或《一般資料保護規則》(GDPR),請按照 CCPA 設定GDPR 設定的步驟,將中介服務合作夥伴加入 AdMob 隱私權與訊息的 CCPA 或 GDPR 廣告合作夥伴名單。否則,合作夥伴將無法在應用程式中放送廣告。

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