行動互動式多媒體廣告

Google Mobile Ads SDK 現在支援 MRAID 第 3 版 Beta 版,這項功能建立在現有的 MRAID 第 2 版支援功能之上,可讓廣告客戶向 Ad Manager 發布商放送 MRAID 第 3 版廣告素材。本指南會說明 MRAID 第 3 版規格中不清楚且可供解讀的 MRAID 導入詳細資料。本指南的對象為 MRAID 第 3 版廣告素材作者。

必要條件

發布商必須執行以下操作:

  • 如要使用 MRAID v3,請使用 15.0.0 以上版本的 Google Play 服務
  • 如要使用 MRAID v2,請使用 Google Play 服務 7.8 以上版本

實用的入門指南

如果您不熟悉 MRAID,請參閱 IAB MRAID 頁面,進一步瞭解相關資訊。您也可以下載 MRAID v3 定義文件,其中會詳細說明下文討論的所有參數,以及 IAB 的 MRAID v3 相關部落格文章

MRAID 第 3 版 (Beta 版) 實作詳細資料

可視度 - exposureChange 事件

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

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

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

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

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

MRAID_ENV 物件中,SDK 不會傳送 IDFAlimitAdTracking、App ID 或 COPPA (皆為選用項目)。這個物件會在 MRAID_ENV 物件中提供所有必要變數,包括 MRAID 版本、SDK 名稱和 SDK 版本。

有聲播放率評估

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

audioVolumeChange 事件只有一個參數:volume_percentage。這個值是音訊播放音量的百分比。它是介於 0.0100.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.0mraid.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()