行動互動式多媒體廣告

Google Mobile Ads SDK 現已支援 MRAID 第 3 版 Beta 版,並以現有的 MRAID 第 2 版支援為基礎,讓廣告主能向 Ad Manager 發布商放送 MRAID 第 3 版廣告素材。本指南旨在釐清 MRAID 第 3 版規格中,不清楚且容易引起誤解的 MRAID 導入細節,適用對象為 MRAID 第 3 版廣告素材作者。

必要條件

發布商必須執行:

實用入門資訊

如果不熟悉 MRAID,請前往 IAB MRAID 頁面瞭解詳情。您也可以下載 MRAID v3 定義文件,進一步瞭解下文討論的所有參數,以及 IAB 關於 MRAID v3 的網誌文章。

MRAID 第 3 版 (Beta 版) 導入詳細資料

可視度 - exposureChange 事件

系統支援這項事件,建議您使用新 exposureChange 事件的事件監聽器,而非已淘汰的 viewableChange 事件。mraid.isViewable() 方法也已淘汰。不過,為了維持回溯相容性,系統仍會繼續支援這些已淘汰的方法。

每當廣告檢視畫面變更時,系統就會調度 exposureChange 事件定義。SDK 設有輪詢機制,可避免產生過多事件。 廣告註冊事件監聽器後,系統會以非同步方式傳送初始狀態。回呼包含 exposed_percentage 參數,這是介於 0.0 和 100.0 之間的浮點數。

如需使用範例,請參閱 MRAID v3 規格。

MRAID 偵測和初始化,以及 MRAID_ENV 屬性

SDK 符合 MRAID v3 規格中定義的初始化通訊協定。

在 MRAID_ENV 物件中,SDK 不會傳送 IDFA、limitAdTracking、應用程式 ID 或 COPPA (這些為選用項目)。它會在 MRAID_ENV 物件中提供所有必要變數,包括 MRAID 版本、SDK 名稱和 SDK 版本。

可聽性評估

我們推出了新事件 (audioVolumeChange),用於判斷是否能聽到音訊,以及音量何時變更。

audioVolumeChange 事件只有一個參數:volume_percentage。這個值代表音訊播放音量上限的百分比。這是一個介於 0.0 和 100.0 之間的浮點數 (不允許播放時為 0.0),如果無法判斷音量,則為 null。

如需使用範例,請參閱 MRAID v3 規格。

mraid.getLocation()

由於不支援 mraid.getLocation(),因此一律會傳回 -1。

mraid.unload()

這個方法隨時可以呼叫,SDK 會關閉廣告、取消分配資源,然後移除 WebView,或以其他文件/新廣告取代。

廣告素材呼叫 unload() 時,原生層會根據不同的廣告素材類型做出以下回應:

類型 unload() 行為
橫幅廣告 使用與目前廣告相同的請求參數,提出新的廣告請求。
插頁式廣告 關閉插頁式廣告。

VPAID (影片播放器廣告介面定義)

Google Mobile Ads SDK 不支援 VPAID。mraid.supports('vpaid') 傳回 false。

mraid.useCustomClose()

視格式和廣告素材類型而定,系統可能不支援mraid.useCustomClose()。

MRAID v2 導入詳細資料

mraid.getVersion()

廣告素材載入後,mraid.getVersion() 才會傳回 2.0。請勿在 mraid.getState() 傳回 loading 時檢查 MRAID 版本。

mraid.resize()

呼叫 mraid.resize() 時,原始橫幅會替換為橫幅的螢幕截圖圖片。如果調整大小後的廣告未覆蓋原始廣告空間,就會出現這種情況。

此外,調整大小後的廣告也不會沿用原始橫幅廣告框架。如果橫幅廣告位於捲動檢視區塊中,調整大小後的廣告不會隨著橫幅廣告捲動。

mraid.setResizeProperties()

對 mraid.setResizeProperties() 的所有呼叫都應包含必要屬性的完整清單。如果調整大小屬性無效,系統會將其設回預設值,且所有後續對 mraid.resize() 的呼叫都會失敗,直到再次使用有效參數呼叫 mraid.setResizeProperties() 為止。

mraid.getMaxSize()

mraid.getMaxSize() 只能用來判斷調整大小後的廣告大小上限。如要判斷可展開式廣告的大小,請使用 mraid.getScreenSize()。

mraid.setOrientationProperties()

呼叫 mraid.setOrientationProperties() 時,如果 allowOrientationChange 屬性設為 true,則設定 forceOrientation 屬性不會有任何作用。如要強制設定廣告素材方向,請將 allowOrientationChange 設為 false。

mraid.isViewable()

如果檢視畫面遮蓋了原本可見的廣告,mraid.isViewable() 仍會傳回 true。應用程式內容不應遮蓋可見廣告。

mraid.getCurrentPosition()

當兩部分可展開式廣告處於展開狀態時,對第一部分呼叫 mraid.getCurrentPosition() 會傳回螢幕大小。

mraid.storePicture()

應用程式必須包含 android.permission.WRITE_EXTERNAL_STORAGE 權限,才能支援 mraid.storePicture()。