NewsAdsSDK_iOS接入文檔
版本 | 發(fā)布時間 | 版本內(nèi)容 | 人員 |
---|---|---|---|
v1.1 | 2019-12-11 | 新增穿山甲個性化模板廣告谆吴,自渲染和個性化模板切換參數(shù)kBU_NativeAd | ???? |
v1.0 | 2019-12-05 | 新聞信息流廣告SDK倒源,支持廣點通、穿山甲句狼、百度 | ???? |
SDK地址笋熬,阿里云code,切換至iOS分支腻菇,無權(quán)限請聯(lián)系管理員胳螟。
注意事項:
1.廣告類型關(guān)鍵字符識別:廣點通(GDT)、穿山甲(BU)芜繁、百度(Baidu)旺隙。
2.廣點通為模板廣告,百度為原生自渲染骏令,穿山甲(頭條)有自渲染和模板兩種蔬捷。
3.目前,所有廣告均含小圖(左文右小圖)榔袋、大圖(上文下大圖)周拐、三圖(上文下三小圖),只有穿山甲有視頻廣告凰兑。
4.頭條廣告分為自渲染和個性化模板兩種妥粟,2019.11.28穿山甲聯(lián)盟中已關(guān)閉自渲染申請通道,只能使用個性化模板吏够。請使用kBU_NativeAd
切換廣告勾给,可刪除多余部分代碼。
5.百度廣告產(chǎn)品管理后臺需要配置好返回廣告條數(shù)>1锅知,效果為佳播急。
6.Demo中圖片寬高比如不需要自定義,請忽略本條
- 百度廣告默認小圖和三圖圖片寬高比為3:2售睹,大圖和視頻寬高比為16:9桩警,
可修改宏定義NewsBaiduSmallPic_Scale
和NewsBaiduBigPic_Scale
- 穿山甲自渲染廣告寬高比暫未抽取,請自行去代碼中修改昌妹。
- 穿山甲模板廣告和廣點通模板廣告高度自適應捶枢,可在聯(lián)盟后臺修改樣式。
7.百度默認請求https廣告飞崖,若期望請求http的廣告烂叔,直接調(diào)用如下接口:
[BaiduMobAdSetting sharedInstance].supportHttps = NO;
集成步驟:
可全局搜索Demo中代碼標記 NewsAd_Code
,查看嵌入代碼
1.pod集成廣告SDK
# 廣點通
pod 'GDTMobSDK'
# 谷歌廣告(暫不支持)
# pod 'Google-Mobile-Ads-SDK'
# 百度
pod 'BaiduMobAdSDK'
# 頭條
pod 'Bytedance-UnionAD'
2.配置info.plist
定位權(quán)限(百度及廣點通廣告需要)
NSLocationAlwaysAndWhenInUseUsageDescription
蚜厉,
NSLocationWhenInUseUsageDescription
ADMob配置
key:GADApplicationIdentifier
value:ADMob應用ID长已,對應值為宏定義中kAdmob_AppKey
3.拖入Demo中文件夾
NewsAdsSDK
4.可引入廣告管理頭文件至pch文件,也可按需局部引入
#import "NewsAds.h"
5.配置所有廣告key
- 替換
NewsAds.h
中配置廣告的key值,根據(jù)對應的注釋正確填寫术瓮。 - 應用的BundleIdentifier對應康聂,廣告SDK才能拉取數(shù)據(jù)成功。
6.初始化廣告池
- 在
AppDelegate.m
中初始化廣告池胞四,可在didFinishLaunchingWithOptions
方法中調(diào)用
[self registerNewsAdsPool];
- 根據(jù)需要修改
registerNewsAdsPool
方法中使用的key值恬汁,可以直接使用NewsAds.h
中宏定義key,也可使用后臺接口配置的key辜伟,如下:
// 百度小圖
NewsAdModuleBaidu *smallBaidu = [[NewsAdModuleBaidu alloc] initWithAppId:kBaidu_AppKey adId:[AllBaseDataManager shareManager].baiduSmallPic];
7.升級新聞接口
- 新聞列表接口中要增加廣告版本參數(shù)
&adversion=1.1
氓侧,否則無法通過廣告管理后臺控制廣告在新聞列表中顯示的位置。
8.配置新聞列表數(shù)據(jù)模型
目前导狡,已通過NSObject+NewsModel.h
分類動態(tài)為新聞列表數(shù)據(jù)模型添加adIndex
和PositionType
屬性约巷。具體說明如下:
-
adIndex
:記錄廣告所屬位置。 -
PositionType
:有些新聞數(shù)據(jù)中新增屬性旱捧,用于區(qū)分廣告所屬位置(啟動頁独郎、列表頁、推薦頁枚赡、熱詞氓癌、詳情頁),如果接口中有此屬性贫橙,需要注意區(qū)分贪婉。 - 注意
cellType
屬性的使用,為自定義屬性卢肃,用于記錄當前模型要顯示的UI類型疲迂,請求到接口數(shù)據(jù)后要對此屬性賦值,具體實現(xiàn)查看demo中getNewsDetailInfo
的實現(xiàn)莫湘,枚舉值如下:
typedef NS_ENUM(NSInteger, InfoNewsCellType){
InfoNewsZeroImgCellTypeDef, //無圖(默認)
InfoNewsOneImgCellType, //一張圖
InfoNewsThreeImgCellType, //三張圖
InfoNewsVideoCellType, //video
InfoNewsADCellType //廣告
};
9.配置新聞列表Tableview
- 自定義Tableview增加屬性
adList
鬼譬,用于廣告存儲 。
@property (nonatomic, strong) NSMutableDictionary *adList;
- 懶加載初始化:
-(NSMutableDictionary *)adList{
if (!_adList) {
_adList = [NSMutableDictionary dictionary];
}
return _adList;
}
10.管理新聞數(shù)據(jù)中廣告
- 自定義Tableview中實現(xiàn)
bindADToModels
方法逊脯,并注意參考demo中調(diào)用時機。遍歷當前請求中所有新聞數(shù)據(jù)竣贪,IsAD為1军洼,并滿足PositionType
不存在,或存在并且為列表頁類型ZJAdvertisementTypeList
時從廣告池中提取廣告演怎。
11.接管UITableView代理
- 查看
UITableView+NewsAd.h
中方法匕争,并參照demo在對應的方法中實現(xiàn)注冊廣告cell,計算cell高爷耀,展示cell度甘桑,處理cell中廣告曝光事件等。
12.點擊模板廣告叉功能實現(xiàn)
- 接收點擊模板廣告叉通知
kNewsAdDislikeNotification
,實現(xiàn)刪除數(shù)據(jù)源中對應數(shù)據(jù)跑杭,并更新列表铆帽。參考demo實現(xiàn)。
常見問題:
1.點擊廣告后如不能展示德谅?
- 需要修改傳入廣告SDK的控制器爹橱,具體方法參考
willReturnAD
實現(xiàn)
2.頭條信息流個性化模板點擊叉后無效?
- 如不能顯示頭條SDK自帶原因列表彈窗窄做,則傳入的控制器不正確愧驱,需要在
willReturnAD
中選擇合適控制器。 - 點擊后顯示彈窗椭盏,但點擊彈窗選項后無反應组砚,需要接受通知
kNewsAdDislikeNotification
,并參照demo中處理方式移除數(shù)據(jù)源并更新列表掏颊。