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