原生廣告設(shè)置選項(xiàng)
通過(guò)NativeAdConfiguration對(duì)象可以實(shí)現(xiàn)對(duì)原生廣告的自定義設(shè)置。示例代碼如下:
// "testy63txaom86"為專用的測(cè)試廣告位ID,App正式發(fā)布時(shí)需要改為正式的廣告位ID
NativeAdLoader.Builder builder = new NativeAdLoader.Builder(this, "testy63txaom86");
NativeAdConfiguration adConfiguration = new NativeAdConfiguration.Builder()
// 設(shè)置視頻選項(xiàng)
.setVideoConfiguration(videoConfiguration)
// 是否要自定義“不再顯示該廣告”
.setRequestCustomDislikeThisAd(true)
// 設(shè)置“為什么看到此廣告”圖標(biāo)“i”或者“x”的顯示位置,如右上角
.setChoicesPosition(NativeAdConfiguration.ChoicesPosition.TOP_RIGHT)
.build();
builder.setNativeAdOptions(adConfiguration);
不再顯示該廣告
通過(guò)“不再顯示該廣告”功能,用戶可以自行隱藏或關(guān)閉不感興趣的廣告。
默認(rèn)版“不再顯示該廣告”
樣例如下所示:
如果不想展示“廣告已關(guān)閉”的視圖,可調(diào)用NativeAd類中的setDislikeAdListener()方法為原生廣告對(duì)象設(shè)置關(guān)閉廣告事件監(jiān)聽器,并在監(jiān)聽器中的onAdDisliked()方法中添加自定義實(shí)現(xiàn),比如將NativeView從當(dāng)前布局中移除。當(dāng)廣告關(guān)閉時(shí),SDK會(huì)回調(diào)監(jiān)聽器中的onAdDisliked()方法。
示例代碼如下:
NativeAdLoader.Builder builder = new NativeAdLoader.Builder(this, "testy63txaom86");
builder.setNativeAdLoadedListener(new NativeAd.NativeAdLoadedListener() {
@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
...
// 獲取NativeView視圖
final NativeView nativeView = (NativeView) getLayoutInflater().inflate(R.layout.ad_native, null);
// 將NativeView添加到界面
FrameLayout adFrameLayout = findViewById(R.id.frame_layout_ad);
adFrameLayout.removeAllViews();
adFrameLayout.addView(nativeView);
nativeAd.setDislikeAdListener(new DislikeAdListener() {
@Override
public void onAdDisliked() {
// 隱藏廣告時(shí)調(diào)用,將廣告布局從界面中移除
adFrameLayout.removeView(nativeView);
}
});
}
});
自定義版“不再顯示該廣告”
通過(guò)NativeAdConfiguration.Builder類中的setRequestCustomDislikeThisAd()方法可以設(shè)置是否要自定義“不再顯示該廣告”。當(dāng)設(shè)置為自定義版“不再顯示該廣告”時(shí),原生廣告將會(huì)顯示“為什么看到此廣告”圖標(biāo)。如果需要隱藏“為什么看到此廣告”圖標(biāo),可調(diào)用NativeAdConfiguration.Builder類中的setChoicesPosition()方法將其設(shè)置為不可見(jiàn)。
示例代碼如下:
NativeAdConfiguration adConfiguration = new NativeAdConfiguration.Builder()
// 需要自定義“不再顯示該廣告”
.setRequestCustomDislikeThisAd(true)
// 隱藏“為什么看到此廣告”圖標(biāo)
.setChoicesPosition(NativeAdConfiguration.ChoicesPosition.INVISIBLE)
.build();
NativeAdLoader nativeAdLoader = builder.setNativeAdOptions(adConfiguration).build();
說(shuō)明
若要隱藏“為什么看到此廣告”圖標(biāo),則需要在自定義廣告選項(xiàng)列表中添加“為什么看到此廣告”選項(xiàng)。當(dāng)點(diǎn)擊“為什么看到此廣告”選項(xiàng)時(shí),調(diào)用NativeView類中的gotoWhyThisAdPage()方法即可跳轉(zhuǎn)到為什么看到此廣告的頁(yè)面。
當(dāng)原生廣告加載完成時(shí),可調(diào)用NativeAd.isCustomDislikeThisAdEnabled()判斷是否已設(shè)置為要自定義“不再顯示該廣告”。另外,可通過(guò)NativeAd.getDislikeAdReasons()方法獲取“不再顯示該廣告”的信息列表,然后將其顯示在您自定義界面中。
示例代碼如下:
if (nativeAd.isCustomDislikeThisAdEnabled()) {
List<DislikeAdReason> dislikeAdReasons = nativeAd.getDislikeAdReasons();
}
通過(guò)NativeAd.dislikeAd()方法可以將被選中的“不再顯示該廣告”選項(xiàng)信息反饋給SDK。
示例代碼如下:
nativeAd.dislikeAd(dislikeAdReason);
測(cè)試原生廣告
原生廣告測(cè)試廣告位ID,僅可用于調(diào)測(cè)原生廣告功能,不可用于廣告變現(xiàn),在應(yīng)用正式發(fā)布前需替換為正式的原生廣告位ID,您應(yīng)在應(yīng)用發(fā)布前申請(qǐng)真實(shí)的廣告位ID并替換測(cè)試廣告位ID。
原生廣告測(cè)試廣告位ID列表如下:
具體實(shí)現(xiàn)可以參見(jiàn)示例代碼,運(yùn)行示例代碼可以看到如下效果圖:
另外您也可以通過(guò)學(xué)習(xí)Codelab中的教程來(lái)集成原生廣告。