Google Mobile Ads SDK 可讓您運用 Ad Exchange 資源透過應用程式營利。本指南說明如何針對 Ad Exchange 支援的所有廣告格式設定應用程式。
必要條件
設定應用程式以存取 Ad Exchange
透過具有 android:name="com.google.android.gms.ads.APPLICATION_ID"
的 <meta-data>
標記,將 Ad Manager 應用程式 ID (可在 Ad Manager UI 中識別) 加進應用程式的 AndroidManifest.xml 檔案。對於 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 Mobile Ads SDK,然後選取要顯示的廣告格式。本指南的其餘部分會導入橫幅廣告格式,說明如何從 Ad Exchange 載入廣告。Google Mobile Ads SDK 支援的任何廣告格式也適用相同的步驟。
從 Ad Exchange 載入廣告
您可以在應用程式中使用以正斜線結尾的 Ad Exchange 網站資源程式碼,用來取代廣告單元 ID。
舉例來說,如要在 Activity
的版面配置中加入 AdManagerAdView
,即可載入橫幅廣告,如下所示:
# 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
設定完成後,您就可以在 AdManagerAdView
類別中呼叫 loadAd()
方法,並使用廣告事件自訂廣告行為。
大功告成!您的應用程式現在可以從 Ad Exchange 載入並顯示橫幅廣告。
此外,您還可以按照下列指南,使用 Ad Exchange 網站資源載入及顯示 Ad Exchange 中的其他廣告格式:
(僅限已核准的歐洲發布商) 新增底價
您可以提交「底價」功能的要求。
獲得核准後,您可以分別使用 pubf
和 pvtf
參數,在廣告請求中加入公開或私人底價。在以下程式碼範例中,請將「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();