菜单

ATNativeADView

原生广告视图类,负责原生广告的渲染和交互控制,提供视频播放控制、广告展示管理、点击追踪、特效动画(如摇晃和滑动)等,提供自渲染相关支持。

@interface ATNativeADView : UIView<ATNativeRendering>

/**
 * 初始化子视图
 * 子类必须调用[super initSubviews]以确保广告视图正常工作
 * 调用此方法时,广告视图尚未完全准备就绪
 */
-(void)initSubviews;

/**
 * 为子视图创建约束
 * 如果使用自动布局,请在此方法中设置约束
 */
-(void)makeConstraintsForSubviews;

/**
 * 判断当前展示的广告是否为视频广告
 */
-(BOOL)isVideoContents;

/**
 * 获取实际渲染的广告视图
 * 务必使用此方法获取真实的广告视图
 */
-(ATNativeADView*)embededAdView;

/**
 * 返回用于跟踪点击的视图数组
 */
-(NSArray<UIView*>*)clickableViews;

// 广告代理
@property(nonatomic, weak) id<ATNativeADDelegate> delegate;

/**
 * 当前展示的原生广告对象(只读)
 */
@property(nonatomic, readonly) ATNativeAd *nativeAd;

/**
 * 原生广告的网络平台ID(只读)
 */
@property(nonatomic, readonly) NSInteger networkFirmID;

/**
 * 获取视频广告播放时长(毫秒)
 */
- (CGFloat)videoPlayTime;

/**
 * 获取视频广告总时长(毫秒)
 */
- (CGFloat)videoDuration;

/**
 * 设置是否静音播放
 * @param flag 是否静音
 */
- (void)muteEnable:(BOOL)flag;

/**
 * 播放视频广告
 */
- (void)videoPlay;

/**
 * 暂停视频广告
 */
- (void)videoPause;

/**
 * 销毁网络原生广告
 */
- (void)destroyNative;

/**
 * 获取原生广告类型
 */
- (ATNativeAdType)getNativeAdType;

/**
 * 获取原生广告渲染类型
 */
- (ATNativeAdRenderType)getCurrentNativeAdRenderType;

/**
 * 设置自渲染广告AdChoices视图的背景色
 * 仅支持Meta(Facebook)广告
 */
- (void)setAdChoicesViewColor:(UIColor *)color;

// 自渲染视图
@property(nonatomic, strong) UIView *selfRenderView;

// 记录自定义播放器状态
- (void)recordCustomPlayerStatus:(ATPlayerStatus)status currentTime:(NSTimeInterval)time;

// 使用原生广告准备信息进行准备
- (void)prepareWithNativePrepareInfo:(ATNativePrepareInfo *)nativePrepareInfo;

// 获取媒体视图
- (nullable UIView *)getMediaView;

// 获取原生摇晃视图
- (UIView *)getNetworkShakeViewWithFrame:(CGRect)frame;

/**
 * 初始化滑动组件(仅支持百度)
 * @param frame 组件frame
 * @param repeat 动画播放次数,-1为无限循环
 * @param animationWidth 动画区域宽度(不包括文本,不得超过frame尺寸)
 * @param animationHeight 动画区域高度(不包括文本,不得超过frame尺寸)
 */
- (UIView *)getNetworkSlideViewWithFrame:(CGRect)frame
                                 repeat:(int)repeat
                         animationWidth:(CGFloat)animationWidth
                        animationHeight:(CGFloat)animationHeight;

// 使用配置、当前广告订单和广告位ID初始化
- (instancetype)initWithConfiguration:(ATNativeADConfiguration*)configuration 
                       currentOffer:(ATNativeAdOffer *)currentOffer 
                       placementID:(NSString*)placementID;

// 更新广告视图配置
- (void)updateAdViewConfiguration:(ATNativeADConfiguration*)configuration 
                    currentOffer:(ATNativeAdOffer *)currentOffer 
                    placementID:(NSString*)placementID;

// 注册可点击视图数组
- (void)registerClickableViewArray:(NSArray *)registerClickViewArray;

@end
最近修改: 2025-05-30Powered by