Google AdMob原生高級廣告,google admob廣告收入Google AdMob原生高級廣告原生高級廣告展示UnifiedNativeAd加載原生廣告時,Google移動廣告SDK會調用相應廣告格式的監聽器。然后,就由您的應用負責展示廣告了,盡管不一定要立即展示廣告。為了更輕松地展示系統定義的廣告格式,該......
原生高級廣告
展示UnifiedNativeAd
加載原生廣告時,Google移動廣告SDK會調用相應廣告格式的監聽器。然后,就由您的應用負責展示廣告了,盡管不一定要立即展示廣告。為了更輕松地展示系統定義的廣告格式,該SDK提供了一些實用資源,如下所述。
UnifiedNativeAdView類
對于UnifiedNativeAd格式,有對應的UnifiedNativeAdView類。該類是一個ViewGroup,發布商應將其用作UnifiedNativeAd的根。一個UnifiedNativeAdView對應于一個統一原生廣告。凡是用于展示該廣告素材資源的視圖(例如,展示屏幕截圖素材資源的ImageView),均應是UnifiedNativeAdView對象的子對象。
對于使用LinearLayout展示素材資源視圖的統一原生廣告,其視圖層次結構可能如下所示:
下面這個示例創建了一個UnifiedNativeAdView,然后用UnifiedNativeAd填充該視圖:
重要注意事項:請注意,對于指定的原生廣告,應在UnifiedNativeAdView布局內呈現所有素材資源。當在原生廣告視圖布局外呈現原生廣告素材資源時,Google移動廣告SDK就會在日志中記錄一條警告。
廣告視圖類還提供了注冊每項素材資源所用視圖時會用到的方法,并提供了一個用于注冊NativeAd對象本身的方法。如果以這種方式注冊視圖,該SDK就可以自動處理諸如以下任務:
·記錄點擊次數
·記錄展示次數(當第一個像素出現在屏幕上時)
·顯示廣告選擇疊加層
廣告選擇疊加層
該SDK會向每個廣告視圖中添加一個廣告選擇疊加層。請在原生廣告視圖中任選您喜歡的一角留出空間,用于展示自動插入的廣告選擇徽標。此外,廣告選擇疊加層一定要顯眼易見,因此請選擇適當的背景顏色和圖片。
廣告標示
您必須展示廣告標示,以指明該視圖是廣告。
代碼示例
以下是展示統一原生廣告的步驟:
創建UnifiedNativeAdView類的實例。
對于要展示的每個廣告素材資源:
使用廣告對象中的素材資源填充素材資源視圖。
向ViewGroup類注冊該素材資源視圖。
如果您的原生廣告布局包含大型媒體素材資源,請注冊MediaView。
向ViewGroup類注冊廣告對象。
以下是一個展示UnifiedNativeAd的示例函數:
讓我們來看看各項具體任務:
填充布局
在本示例中,我們要填充一個XML布局(該布局包含的視圖用于展示統一原生廣告),然后找到對UnifiedNativeAdView的引用。請注意,如果您的片段或活動中有現成的UnifiedNativeAdView,也可以重復使用它;您甚至可以在不使用布局文件的情況下動態創建一個實例。
填充和注冊素材資源視圖
下面的示例代碼會找到用于顯示標題的視圖,使用廣告對象所提供的字符串素材資源設置視圖的文字,然后向UnifiedNativeAdView對象注冊該視圖:
對于應用要展示的由原生廣告對象所提供的每項素材資源,都應為其重復上述過程,即找到相應視圖、設置其值并向廣告視圖類注冊它。
點擊處理
重要注意事項:在原生廣告視圖之上或內部的任何視圖上,請勿實現任何自定義點擊處理程序。要自行觀察點擊事件,請使用廣告監聽器。
只要您按上一部分所述正確填充和注冊了素材資源視圖,該SDK就會處理廣告視圖素材資源獲得的點擊。
以下是一個使用廣告監聽器觀察點擊事件的示例:
注冊MediaView
重要注意事項:如果您要在原生廣告的布局中包含主圖片素材資源,則需要使用MediaView素材資源,而不是ImageView素材資源。
MediaView是一個專門用于展示主媒體素材資源(視頻或圖片)的View。
MediaView可以在XML布局中定義,也可以動態構建。就像所有其他素材資源視圖一樣,它應該放在NativeAdView的視圖層次結構中。對于使用MediaView的應用,必須向NativeAdView注冊它,如下所示:
與所有素材資源視圖一樣,媒體視圖也需要填充內容,這通過使用mediaContent屬性來完成。UnifiedNativeAd的mediaContent屬性包含可傳遞到MediaView的媒體內容。
以下代碼段用于為媒體視圖設置媒體內容:
設置ImageScaleType
MediaView類在顯示圖片時具有ImageScaleType屬性。如果您想在MediaView中更改圖片的縮放方式,請使用MediaView的setImageScaleType()方法設置相應的ImageView.ScaleType。
例如,要在圖片顯示時填充MediaView(廣告中不包含視頻),請使用以下代碼:
GitHub示例
我們的GitHub代碼庫包含以Java和Kotlin編寫的原生高級廣告的完整實現方案。
下載原生高級廣告示例
MediaContent
MediaContent類包含與原生廣告的媒體內容相關的數據,媒體內容則通過MediaView類展示。使用MediaContent實例設置MediaView mediaContent屬性時:
·如果廣告有視頻素材資源可用,則系統會對其進行緩沖,并開始在MediaView內播放。您可以通過檢查hasVideoContent()來判斷是否有視頻素材資源可用。
·如果廣告不包含視頻素材資源,則會改為下載mainImage素材資源,并將其放置在MediaView內。
注意:默認情況下,mainImage是下載的第一個圖片素材資源。如果使用了setReturnUrlsForImageAssets(true),則mainImage為null,您必須將mainImage屬性設置為您手動下載的圖片。請注意,僅在沒有視頻素材資源可用時,系統才會使用此圖片。
注冊原生廣告對象
這是最后一步,也就是向負責顯示原生廣告對象的視圖注冊該對象:
原生視頻廣告
除了圖片、文字和數字外,有些原生廣告會包含視頻素材資源。但不是每個廣告都會包含視頻素材資源,相關應用也并非一定要展示這些資源。
為了簡化視頻的配置和展示,Google移動廣告SDK提供了與視頻相關的以下類:
VideoOptions
通過VideoOptions類,您可以為應用配置原生視頻素材資源的行為方式。VideoOptions對象應該分配給構建AdLoader時使用的NativeAdOptions對象:
VideoOptions.Builder類目前提供了setStartMuted()方法,用于指示該SDK是否應該在靜音狀態下開始播放視頻素材資源。默認值為true。
VideoController
VideoController類用于獲取有關視頻素材資源的信息。通過調用getVideoController()方法,應用可以從UnifiedNativeAd對象獲得對該控制器的引用:
即使廣告中沒有視頻素材資源,此方法也會始終返回VideoController對象。
VideoController提供hasVideoContent()方法;如果廣告中有視頻素材資源,則該方法返回true,否則返回false。
應用也可以使用VideoController.VideoLifecycleCallbacks類,在視頻素材資源生命周期內發生事件時接收通知:
銷毀廣告
當完成原生廣告展示后,您應該將其銷毀,以便系統正確地對廣告進行垃圾回收處理。
特別聲明:以上文章內容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關于作品內容、版權或其它問題請于作品發表后的30日內與ESG跨境電商聯系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯系在線顧問
小程序
ESG跨境小程序
手機入駐更便捷
返回頂部