AdMob 中介服務這項功能可讓您的應用程式放送眾多來源 (包括 AdMob 聯播網、第三方廣告聯播網和 AdMob 廣告活動) 的廣告。AdMob 中介服務會向多個聯播網送出廣告請求,以確保您透過最合適的聯播網放送廣告,進而提高您的廣告供應率和收益。個案研究。
必要條件
您必須先在應用程式中整合該廣告格式,才能整合廣告格式的中介服務:
第一次使用中介服務嗎?請參閱 AdMob 中介服務總覽。
出價:Google Mobile Ads SDK 18.3.0 以上版本。
初始化 Mobile Ads SDK
快速入門指南將說明如何初始化行動廣告 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
說明文件。
使用活動例項初始化廣告物件
在新廣告物件的建構函式中 (例如
AdView
)、您必須傳入 Context
類型的物件。使用中介服務時,這個 Context
會傳遞給其他廣告聯播網。部分廣告聯播網需要較嚴格的 Context
類型為 Activity
,因此如果沒有 Activity
執行個體,可能無法放送廣告。因此,建議您在初始化廣告物件時傳入 Activity
例項,確保中介服務廣告聯播網能享有一致的體驗。
橫幅廣告中介服務
對於中介服務中使用的橫幅廣告廣告單元,請務必停用所有第三方廣告聯播網使用者介面中的重新整理功能。 AdMob 這樣會導致系統重複重新整理,因為 AdMob 也會根據橫幅廣告單元的重新整理頻率觸發重新整理。
獎勵廣告中介服務
建議您在 AdMob UI 中設定獎勵值,覆寫所有預設獎勵價值。方法很簡單,只要選取「套用到中介服務群組中的所有聯播網」 方塊,即可讓獎勵在所有聯播網中保持一致。有些廣告聯播網完全不提供獎勵價值或類型。覆寫獎勵值時,無論廣告是透過哪個廣告聯播網放送,獎勵都會保持一致。
如要進一步瞭解如何在 AdMob 使用者介面中設定獎勵值,請參閱「建立獎勵廣告單元」。
原生廣告中介服務
以下是導入原生中介服務時可考慮的一些最佳做法。
- 原生廣告展示政策
- 每個廣告聯播網都有各自的政策。使用中介服務時,請務必記住,您的應用程式仍須遵守提供廣告的中介服務聯播網政策。
- 以
loadAd()
取代loadAds()
loadAds()
方法目前只會放送 Google 廣告。如果是中介服務廣告,請改用loadAd()
。
CCPA 和 GDPR
如果您需要遵守《加州消費者隱私法 (CCPA)》或《一般資料保護規則》(GDPR),請按照 CCPA 設定或 GDPR 設定中的步驟,在 AdMob 隱私權與訊息的 CCPA 或 GDPR 廣告合作夥伴清單新增中介服務合作夥伴。否則可能會導致合作夥伴無法在您的應用程式中放送廣告。
進一步瞭解如何啟用 CCPA 受限的資料處理模式,以及如何透過 Google User Messaging Platform (UMP) SDK 取得 GDPR 同意聲明。