設定中介服務

本指南說明如何將中介服務介面卡整合至 Android 應用程式。

必要條件

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

第一次使用中介服務嗎?請參閱中介服務簡介

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

初始化 Google Mobile Ads SDK (Legacy)

快速入門指南會說明如何初始化 Google Mobile Ads SDK (Legacy)。 在該初始化呼叫期間,中介服務轉接程式也會初始化。請務必等待初始化作業完成,再載入廣告,以便在第一個廣告請求中,驗證每個廣告聯播網是否完全參與。

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

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 例項初始化廣告物件

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

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

透過中介服務使用原生廣告

實作原生中介服務時,建議採用下列最佳做法。

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

美國州級隱私權法律和 GDPR

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

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