BBASMBannerAdInner.h 3.33 KB
//  BBASMBannerAdInner.h
//  SWANAd
//
//  Created by Bao,Shiwei on 2019/3/5.
//  Copyright © 2019年 Baidu. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "BBASMBannerAdStyleInner.h"
#import "BBASMBannerAdInnerProtocol.h"
#import "BBASMBannerRequest.h"
#import "BBASMGameAdLogProtocol.h"

@interface BBASMBannerAdInner : NSObject

/// 横竖屏
@property (nonatomic) BOOL isLandscape;
/// 广告位ID
@property (nonatomic, copy) NSString *adUnitId;
/// 游戏Id
@property (nonatomic, copy) NSString *appId;
/// 媒体Id
@property (nonatomic, copy) NSString *appSid;
/// appkey(上报和mssp校验)
@property (nonatomic, copy) NSString *appkey;
/// 场景值(区分小游戏实体)
@property (nonatomic, copy) NSString *scene;
/// quid(搜索触发小游戏时携带字段),可为空,普通调起不携带。
@property (nonatomic, copy) NSString *eqid;
/// 是否被销毁
@property (nonatomic) BOOL isDestroyed;
/// 是否在展现
@property (nonatomic) BOOL isShowing;
/// 是否在展现
@property (nonatomic) BOOL impressed;
/// 外部暴露的sytle
@property (nonatomic, strong) BBASMBannerAdStyleInner *style;
/// 请求对象
@property (nonatomic, strong) BBASMBannerRequest *request;
/// 主要回调代理,负责执行回调
@property (nonatomic, weak) id<BBASMBannerAdInnerProtocol> delegate;
/// 广告打点代理
@property (nonatomic, weak) id<BBASMGameAdLogProtocol> logDelegate;
/// 是否被保护
@property (nonatomic) BOOL isProtect;
/// 错误码
@property (nonatomic, strong) NSString *errorCode;
/// 错误信息
@property (nonatomic, strong) NSDictionary *errorMsg;
/// 广告信息
@property (nonatomic, copy) NSDictionary *adInfo;

/**
 * @brief 初始化对象
 *
 * @param adUnitId 广告位Id
 * @param appSid 媒体Id
 * @param appId 游戏Id
 * @param style style字典
 * @param appData 应用信息
 * @param eqid 搜索小游戏触发id,可为空(暂不实装字段)
 * @param logDelegate 日志
 * @param shouldRequest 是否请求广告(11.7)
 * @param gdtData GDT广告后台数据(11.23)
 * @return 返回banner对象
 */
- (instancetype)initWithAdUnitId:(NSString *)adUnitId
                          appSid:(NSString *)appSid
                           appID:(NSString *)appId
                           style:(NSDictionary *)style
                         appData:(NSDictionary *)appData
                            eqid:(NSString *)eqid
                     logDelegate:(id<BBASMGameAdLogProtocol>)logDelegate
                   shouldRequest:(BOOL)shouldRequest
                         gdtData:(NSDictionary *)gdtData;

/**
 * @brief 显示banner
 *
 */
- (void)show;

/**
 * @brief 隐藏banner
 *
 */
- (void)hide;

/**
 * @brief 销毁banner
 *
 */
- (void)destroy;

/**
 * @brief 执行Onload回调
 *
 */
- (void)innerRunOnLoad;

/**
 * @brief 执行错误回调
 *
 * @param code 错误码
 */
- (void)innerRunOnError:(NSString *)code;

/**
 * @brief 执行宽高变化回调
 *
 * @param size 字典(width+height)
 */
- (void)innerRunOnResize:(NSDictionary *)size;

/**
 * @brief 更新bannner样式
 *
 */
- (void)updateRenderFrame;

/**
 * @brief 恢复执行队列(网络请求后)
 *
 */
- (void)unSuspended;

/**
 * @brief 是否有广告展现
 *
 * @return 是否有广告展现
 */
- (BOOL)hasAdtoShow;

/**
 * @brief 是否是GDT激励视频广告
 *
 * @return BOOL
*/
- (BOOL)isGDTAd;

@end