行動互動式多媒體廣告

Google Mobile Ads SDK 現已推出 MRAID v3 的 Beta 版支援,這是已開發出 MRAID v2 支援功能,可讓廣告客戶向 Ad Manager 發布商放送 MRAID v3 廣告素材。本指南旨在闡明 MRAID 導入細節,這在 MRAID v3 規格中十分開放解讀。我們預期目標對像是 MRAID v3 廣告素材作者。

必要條件

發布商必須放送:

  • 適用於 iOS 7.30.0 以上版本的 Google Mobile Ads SDK (適用於 MRAID v3)
  • 適用於 iOS 7.4.0 以上版本的 Google Mobile Ads SDK (適用於 MRAID v2)

實用入門課程

如果您不熟悉 MRAID,請參閱 IAB MRAID 頁面瞭解詳情。您也可以下載 MRAID v3 定義文件,其中詳細介紹了下方討論的所有參數,以及 MRAID v3 上的 IAB 網誌文章

MRAID v3 (Beta 版) 導入詳情

可視度 - 曝光變更事件

支援此事件,建議您為新的 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()

使用 allowOrientationChange 屬性設為 true 來呼叫 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 v2 規格,廣告素材應該能夠處理無法使用這些方法的情況。

mraid.storePicture()

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