設定 Ad Exchange 直接存取權

Google Mobile Ads SDK 支援透過 Ad Exchange 的應用程式營利 資源。本指南說明 如何針對 Ad Exchange 支援的所有廣告格式設定應用程式。

必要條件

設定應用程式以存取 Ad Exchange

新增 Ad Manager 應用程式 ID (透過 Ad Manager 識別) UI) AndroidManifest.xml 檔案的 <meta-data> 標記使用 android:name="com.google.android.gms.ads.APPLICATION_ID"。針對 android:value, 然後插入自己的 Ad Manager 應用程式 ID,並以半形引號括住

<manifest>
    <application>
        <!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

另請注意,如果無法新增 <meta-data> 標記 (如上所示),會導致 當機,錯誤訊息:

Missing application ID.

接下來,您就可以初始化 Google 行動廣告 SDK 然後選取要顯示的廣告格式本指南的其餘部分會導入 橫幅廣告格式 說明如何從 Ad Exchange 載入廣告。這些步驟 Google Mobile Ads SDK 支援的任何廣告格式。

從 Ad Exchange 載入廣告

您可使用 Ad Exchange 網站資源代碼,結尾加上正斜線 來取代廣告單元 ID

舉例來說,如要在版面配置中加入 AdManagerAdView 來載入橫幅廣告 有關 Activity 的資訊,如下:

# main_activity.xml
...
  <com.google.android.gms.ads.admanager.AdManagerAdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adManagerAdView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-mb-app-pub-5629679302779023/">
  </com.google.android.gms.ads.admanager.AdManagerAdView>

請注意,無法在 Ad Exchange 網頁中加入結尾的正斜線 如上述資源代碼所示,會導致廣告請求錯誤與下列訊息:

Invalid Request. Cannot determine request type. Is your ad unit id correct?

請注意,您也可以將 Ad Exchange 網站資源程式碼轉換為廣告單元。 之後,您可以使用 Ad Manager UI 產生 Ad Exchange 標記並複製到 應用程式。產生的代碼應包含 Ad Exchange 網站資源代碼,後面加上 以下層廣告單元 ID 為依據,但不含正斜線,例如: ca-mb-app-pub-5629679302779023/banner

或者,您也可以透過程式輔助方式建立 AdManagerAdView

Java

AdManagerAdView adView = new AdManagerAdView(this);

adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");

// TODO: Add adView to your view hierarchy.

Kotlin

val adView = AdManagerAdView(this)

adView.adSizes = AdSize.BANNER
adView.adUnitId = "ca-mb-app-pub-5629679302779023/"

// TODO: Add adView to your view hierarchy.

AdManagerAdView 設定完畢後,您就可以呼叫 loadAd() 方法 (位於 AdManagerAdView 類別並透過廣告自訂廣告行為 事件

大功告成!您的應用程式現在可以從 Ad Exchange 載入並顯示橫幅廣告了。

此外,您還可以使用 Ad Exchange 網站資源 請參閱下列個別指南,從 Ad Exchange 取得廣告格式:

(僅適用於已獲得核准的歐洲發布商) 新增底價

您可以申請提高「底價」 功能

獲得核准後,您就可以在廣告請求中加入公開底價或私人底價 使用 pubfpvtf 參數。在下列程式碼中 例如將「123」底價 (以百萬分之一為單位) 和您聯播網 預設貨幣。範例說明 會以微分表示:如果預設貨幣為美元,請輸入「6000000」是 相當於 $6.00 美元。

Java

Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

AdManagerAdRequest request = new AdManagerAdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter.class, extras)
    .build();

Kotlin

val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

val request = AdManagerAdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter::class::java, extras)
    .build();