Google Mobile Ads SDK 現已推出 MRAID v3 的 Beta 版支援,這是已開發出 MRAID v2 支援功能,可讓廣告客戶向 Ad Manager 發布商放送 MRAID v3 廣告素材。本指南旨在闡明 MRAID 導入細節,這在 MRAID v3 規格中十分開放解讀。我們預期目標對像是 MRAID v3 廣告素材作者。
必要條件
發布商必須放送:
- 適用於 MRAID v3 的 Google Play 服務 15.0.0 以上版本
- 適用於 MRAID v2 的 Google Play 服務 7.8 以上版本
實用入門課程
如果您不熟悉 MRAID,請參閱 IAB MRAID 頁面瞭解詳情。您也可以下載 MRAID v3 定義文件,其中詳細介紹了下方討論的所有參數,以及 MRAID v3 上的 IAB 網誌文章。
MRAID v3 (Beta 版) 導入詳情
可視度 - 曝光變更事件
支援此事件,建議您為新的 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()
使用 allowOrientationChange
屬性設為 true
來呼叫 mraid.setOrientationProperties()
時,設定 forceOrientation
屬性不會執行任何動作。需要強制方向的廣告素材應將 allowOrientationChange
設為 false
。
mraid.isViewable()
如果檢視畫面覆蓋其他可見廣告,mraid.isViewable()
仍會傳回 true
。應用程式內容不應遮蓋可見廣告。
mraid.getCurrentPosition()
當兩部分可展開廣告處於展開狀態時,在第一部分呼叫 mraid.getCurrentPosition()
時,系統會傳回螢幕大小。
mraid.storePicture()
應用程式必須具備 android.permission.WRITE_EXTERNAL_STORAGE
權限,才能支援 mraid.storePicture()
。