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.0
和 100.0
之間的浮點數字。
如需範例用法,請參閱 MRAID v3 規格。
MRAID 偵測和初始化,以及 MRAID_ENV 屬性
SDK 符合 MRAID 第 3 版規格中定義的初始化通訊協定。
在 MRAID_ENV
物件中,SDK 不會傳送 IDFA
、limitAdTracking
、App 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()
。