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