原生广告接入代码
IMPORTANT 曝光时遵循看见广告在展示曝光
1. 包含头文件
#import <AdHubSDK/AdHubSDK.h>
2. 原生广告的创建和初始化
// 原生广告的创建与初始化
self.native = [[AdHubNative alloc] initWithSpaceID:[DemoIDData sharedInstance].nativeSpaceID spaceParam:[DemoIDData sharedInstance].nativeSpaceParam];
self.native.delegate = self;
// 原生广告请求开始
[self.native loadAd];
3. 主要属性说明
//广告位 id 在AdHub后台创建产生
@property(nonatomic, readonly, copy) NSString *spaceID;
//填写任意字符串
@property(nonatomic, readonly, copy) NSString *spaceParam;
/**
用来接收原生广告读取和展示状态变化通知的 delegate
*/
@property (nonatomic, weak) id<AdHubNativeDelegate> delegate;
/**
广告加载成功后获得的 原生广告数据模型
*/
@property (nonatomic, strong, readonly) NSArray<AdHubNativeAdDataModel *> * adDataModels;
/**
adContentIsAdnetwork 为YES时,表明加载的是第三方广告
adNetworkNativeDataModels 第三方广告数据模型
adNetworkNativeParams 附加参数
*/
@property (nonatomic,assign,readonly)BOOL adContentIsAdnetwork;
@property (nonatomic,strong,readonly)NSArray *adNetworkNativeDataModels;
@property (nonatomic,strong,readonly)NSDictionary *adNetworkNativeParams;
/**
展现 Native 所在 UIView,不能为空
@param nativeView 展现 Native 所在 UIView
*/
- (void)adNativeShowView:(UIView *)nativeView;
4. 广告曝光及点击的方法说明
/**
调用者通知 SDK 曝光展示了某个广告
@param adDataModel 被展示的广告 Model
*/
- (void)didShowAdDataModel:(AdHubNativeAdDataModel *)adDataModel;
/**
调用者通知 SDK 点击了某个广告
@param adDataModel 被点击的广告 Model
*/
- (void)didClickAdDataModel:(AdHubNativeAdDataModel *)adDataModel;
5. 代理方法说明
/**
原生加载成功
*/
- (void)nativeDidLoaded:(AdHubNative *)ad;
/**
原生加载失败
*/
- (void)native:(AdHubNative *)ad didFailToLoadAdWithError:(AdHubRequestError *)error;
/**
@return 展现 Native 点击所需的 UIViewController,不能为空
*/
- (UIViewController *)adNativeViewControllerForPresentingAdDetail;
6. 原生广告数据模型的主要属性
// 原生广告类型
@property (nonatomic) AdHubNativeAdDataModelType type;
// 原生广告基础信息
@property (nonatomic,readonly,strong)NSString *headLine;
@property (nonatomic,readonly,strong)NSString *imageUrlString; // Deprecate use `images` replace
@property (nonatomic,readonly,strong)NSString *body; // Deprecate use `texts` replace
@property (nonatomic,readonly,strong)NSString *action;
@property (nonatomic,readonly,strong)NSString *landingUrl; // landing page url
@property (nonatomic,readonly,strong)NSArray *images; // @[imageUrlString, ...]
@property (nonatomic,readonly,strong)NSArray *videos; // @[videoUrlString, ...]
@property (nonatomic,readonly,strong)NSArray *texts; // @[body, ...]
// 原生内容广告信息,type 为 AdHubNativeAdDataModelForContent 时有效
@property (nonatomic,readonly,strong)NSString *logoUrlString;
@property (nonatomic,readonly,strong)NSString *advertiser;
// 原生 App 推荐广告信息,type 为 AdHubNativeAdDataModelForAppInstall 时有效
@property (nonatomic,readonly,strong)NSString *appIconUrlString;
@property (nonatomic,readonly,strong)NSString *star;
@property (nonatomic,readonly,strong)NSString *store;
@property (nonatomic,readonly,strong)NSString *price;
// 原生数据 json 字符串 开发者可以自行解析展示
@property (nonatomic,readonly,strong)NSString *jsonString;
// adLogo 信息
/** 当 adLabelUrl 不为空时展示此url图片,否则展示adLable内容 */
@property (nonatomic,readonly,strong)NSString *adLabelURL;
/** 广告字样,如:“广告”, 目前固定为“广告” */
@property (nonatomic,readonly,strong)NSString *adLabel;
/** 当 sourceUrl 不为空时展示此url图片,否则展示sourceLable内容 */
@property (nonatomic,readonly,strong)NSString *sourceURL;
/** 广告来源的文字 如:“ADHUB广告”,如有特殊需求,可以展示此文字 */
@property (nonatomic,readonly,strong)NSString *sourceLabel;
7. 请求广告返回第三方广告信息
属性 adContentIsAdnetwork
为 YES
时为第三方广告。
第三方广告直接返回 @[UIView, UIView ... ] 类型数组,可根据需求设置其大小,在将返回的view添加到父试图 。