//
//  ATBannerAdManager.h
//  topon_flutter_plugin
//
//  Created by GUO PENG on 2021/6/29.
//

#import <Foundation/Foundation.h>

@class ATBannerView;
 
@interface ATBannerAdManager : NSObject

#pragma mark - flutter api
/// Load banner ad
- (void)loadBannerWith:(NSString *)placementID extraDic:(NSDictionary *)extraDic;

/// Use position and width and height attributes to display banner ads
- (void)showBannerInRectangle:(NSString *)placementID extraDic:(NSDictionary *) extraDic;

/// Use predefined positions to display banner ads
- (void)showAdInPosition:(NSString *)placementID position:(NSString *) positionStr;

/// Use position and width and height attributes to display banner scene ads
- (void)showBannerInRectangle:(NSString *)placementID sceneID:(NSString *)sceneID extraDic:(NSDictionary *) extraDic;

/// Use predefined positions to display banner scene ads
- (void)showAdInPosition:(NSString *)placementID sceneID:(NSString *)sceneID position:(NSString *)positionStr showCustomExt:(NSString *)showCustomExt;

/// Remove banner ad (only removes from the old showBanner container, does not release the SDK cache)
- (void)removeBannerAd:(NSString *)placementID;

/// Completely destroy placement: retrieve + destroyBanner + clean cache (aligned Android helper.destroy)
- (void)destroyBannerAd:(NSString *)placementID;

/// Hide banner ad
- (void)hideBannerAd:(NSString *)placementID;

/// Re-show banner ad
- (void)afreshShowBannerAd:(NSString *)placementID;

/// Report scenario entry rate
- (void)entryScenarioWithPlacementID:(NSString *)placementID sceneID:(NSString *)sceneID;

/// Check the loading status of the ad slot (alignment incentive ATRewardVideoManager.checkRewardedVideoLoadStatus:)
- (NSDictionary *)checkBannerLoadStatus:(NSString *)placementID;

/// Get information about all available ads under the current ad slot, supported by v5.7.53+
- (NSString *)getBannerValidAds:(NSString *)placementID;

@end
