原生廣告支援多種進階功能,您可以自訂更多項目,打造最佳廣告體驗。本指南說明如何運用這些進階功能。
先決條件
- 整合原生廣告格式。
素材資源控制項
設定原生廣告素材資源的控制選項。
偏好的媒體顯示比例控制項
「媒體顯示比例控制項」用於指定偏好的廣告素材顯示比例。
呼叫 NativeAdOptions.Builder.setMediaAspectRatio()
,並傳遞 NativeAdOptions.MediaAspectRatio
值。
如未設定這個控制項,傳回的廣告可能採用任何媒體顯示比例。
如有設定,廣告將採用指定的顯示比例,有助您提升使用者體驗。
以下示範如何指示 SDK 優先傳回指定顯示比例的圖片或影片。
Java
Kotlin
將 AD_UNIT_ID 替換為廣告單元 ID,
圖片下載控制項
使用圖片下載控制項,可指示 SDK 傳回圖片素材資源,或只傳回 URI。
呼叫 NativeAdOptions.Builder.setReturnUrlsForImageAssets()
,並傳遞 boolean
值。
圖片下載控制項預設為停用。
如果停用這個控制項,Google Mobile Ads SDK 會一併提供圖片和相應的 URI。
如果啟用這個控制項,SDK 會只填入 URI。您可自行決定是否下載實際圖片。
以下示範如何指示 SDK 只傳回 URI。
Java
Kotlin
圖片酬載控制項
部分廣告不會只顯示一張圖片,而是一系列多張圖片。您可以使用這項功能,指示應用程式準備顯示所有圖片,或只顯示一張圖片。
呼叫 NativeAdOptions.Builder.setRequestMultipleImages()
,並傳遞 boolean
值。
圖片酬載控制項預設為停用。
如果停用這個控制項,應用程式會指示 SDK 在處理多張圖片的素材資源時,只提供第一張圖片。
如果啟用這個控制項,代表應用程式已準備好顯示多張圖片素材資源。
以下示範如何指示 SDK 傳回多個圖片素材資源。
Java
Kotlin
AdChoices 刊登位置
自訂 AdChoices 圖示顯示方式。
AdChoices 位置控制項
使用 AdChoices 位置控制項,可以選擇要在哪個角落顯示 AdChoices 圖示。
呼叫 NativeAdOptions.Builder.setAdChoicesPlacement()
,並傳遞 NativeAdOption.AdChoicesPlacement
值。
如未設定這個控制項,AdChoices 圖示位置預設在右上角。
如有設定,AdChoices 圖示會依指示放在適當的位置。
以下示範如何自訂 AdChoices 圖片位置。
Java
Kotlin
AdChoices 自訂檢視區塊
使用 AdChoices 自訂檢視區塊功能,可自由安排 AdChoices 圖示位置。不同於 AdChoices 位置控制項,只能選擇規定的四個角落。
呼叫 NativeAdView.setAdChoicesView()
,並傳遞 AdChoicesView
值。
以下示範如何設定自訂 AdChoices 檢視區塊,並在 AdChoicesView
內算繪 AdChoices 圖示。
Java
NativeAdView nativeAdView = new NativeAdView(context);
AdChoicesView adChoicesView = new AdChoicesView(context);
nativeAdView.setAdChoicesView(adChoicesView);
Kotlin
val nativeAdView = NativeAdView(context)
val adChoicesView = AdChoicesView(context)
nativeAdView.adChoicesView = adChoicesView
影片控制項
設定影片素材資源的行為。
初始靜音行為
初始靜音行為用來指定影片一開始是否播放聲音。
呼叫 VideoOptions.Builder.setStartMuted()
,並傳遞 boolean
值。
根據預設,影片一開始為靜音播放。
如果停用這個控制項,應用程式會要求影片一開始就播放聲音。
如果啟用這個控制項,應用程式會要求影片開始播放時應靜音。
以下示範如何使影片一開始就播放聲音。
Java
Kotlin
自訂播放控制項
您可以要求顯示自訂的影片輸入控制項,方便使用者選擇播放/暫停影片或靜音。
呼叫 VideoOptions.Builder.setCustomControlsRequested()
,並傳遞 boolean
值。
自訂播放控制項預設為停用。
如果停用這個控制項,影片會顯示 SDK 算繪的輸入控制項。
如果廣告有影片內容並啟用了自訂控制項,則您應一併顯示廣告和自訂控制項,因為廣告內不會有任何控制項。接著,這些控制項可對
VideoController
呼叫相關方法。
以下示範如何要求影片顯示自訂播放控制項。
Java
Kotlin
檢查是否已啟用自訂控制項
請求廣告時,無法確定傳回的廣告是否支援自訂影片控制項,因此須先檢查廣告是否啟用這項功能。
Java
MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
VideoController videoController = mediaContent.getVideoController();
boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}
Kotlin
val mediaContent = nativeAd.mediaContent
if (mediaContent != null) {
val videoController = mediaContent.videoController
val canShowCustomControls = videoController.isCustomControlsEnabled
}
算繪自訂影片控制項
請按照下列最佳做法算繪自訂影片控制項:
- 算繪時,將自訂控制項檢視區塊視為原生廣告檢視區塊的子項。這樣 Open Measurement SDK 計算可視度時,就會將自訂控制項視為無害的遮蔽物。
- 避免在整個媒體檢視區塊上算繪隱藏的疊加層。這會妨礙使用者點按媒體檢視區塊,對原生廣告成效產生負面影響。建議只建立剛好能容納控制項的小型疊加層。
自訂點擊手勢
自訂點擊手勢是原生廣告功能,可將使用者在廣告檢視區塊的滑動操作,計為廣告點擊,特別適合用於以滑動手勢瀏覽內容的應用程式。本指南說明如何在原生廣告中啟用自訂點擊手勢。
呼叫 NativeAdOptions.SwipeGestureDirection
並傳遞 boolean
和 NativeAdOptions.Builder.enableCustomClickGestureDirection()
,指定是否將輕觸動作視為點擊。
以下示範如何導入向右滑動自訂手勢,並保留一般分頁行為。
自訂點擊手勢預設為停用。
如果停用這個控制項,應用程式會支援一般的點按行為。
如果啟用這個控制項,應用程式將支援自訂滑動手勢。
以下示範如何導入向右滑動自訂手勢,並保留一般分頁行為。
Java
Kotlin
監聽滑動手勢事件
記錄到滑動手勢點擊時,Google Mobile Ads SDK 會對 AdListener
叫用 onAdSwipeGestureClicked()
方法,以及現有的 onAdClicked()
方法。
Java
AdLoader adLoader =
new AdLoader.Builder(context, AD_UNIT_ID)
.withAdListener(
new AdListener() {
// Called when a swipe gesture click is recorded.
@Override
public void onAdSwipeGestureClicked() {
// Called when a swipe gesture click is recorded.
Log.d(TAG, "A swipe gesture click has occurred.");
}
@Override
public void onAdClicked() {
// Called when a swipe gesture click or a tap click is recorded, as
// configured in NativeAdOptions.
Log.d(TAG, "A swipe gesture click or a tap click has occurred.");
}
})
.build();
Kotlin
val adLoader =
AdLoader.Builder(context, AD_UNIT_ID)
.withAdListener(
object : AdListener() {
override fun onAdSwipeGestureClicked() {
// Called when a swipe gesture click is recorded.
Log.d(TAG, "A swipe gesture click has occurred.")
}
override fun onAdClicked() {
// Called when a swipe gesture click or a tap click is recorded, as
// configured in NativeAdOptions.
Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
}
}
)
.build()
中介服務
自訂點擊手勢僅適用於 Google Mobile Ads SDK 算繪的原生廣告。需要由第三方 SDK 算繪廣告的廣告來源,不會回應自訂點擊手勢的設定。