行動互動式多媒體廣告

Google Mobile Ads SDK 現在已推出 MRAID 第 3 版的 Beta 版支援功能,以現有的 MRAID 第 2 版支援功能為基礎,讓廣告主向 Ad Manager 發布商放送 MRAID 第 3 版廣告素材。本指南將釐清 MRAID v3 規格中不明確且可解讀的部分,並提供 MRAID 實作詳細資料,供 MRAID v3 廣告素材作者參考。

必要條件

發布商必須執行下列作業:

  • 如要使用 MRAID v3,iOS 裝置必須搭載 Google Mobile Ads SDK 7.30.0 以上版本
  • 如要使用 MRAID v2,iOS 裝置必須搭載 Google Mobile Ads SDK 7.4.0 以上版本

實用入門資訊

如果您不熟悉 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 v3 規格中定義的初始化通訊協定。

MRAID_ENV 物件中,SDK 不會傳送 IDFAlimitAdTracking、應用程式 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.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()

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

mraid.isViewable()

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

mraid.getCurrentPosition()

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

mraid.supports()

從 SDK 7.11.0 版開始,mraid.supports("storePicture")mraid.supports("calendar") 一律會傳回 false。根據 MRAID 第 2 版規格,廣告素材應能處理這些方法無法使用的情況。

mraid.storePicture()

當 MRAID 廣告素材呼叫 mraid.storePicture() 時,應用程式會自動要求儲存圖片的權限。