//
//  ATNativeTool.h
//  anythink_sdk
//
//  Created by GUO PENG on 2021/7/12.
//

#import <Foundation/Foundation.h>
#import <AnyThinkSDK/AnyThinkSDK.h>

NS_ASSUME_NONNULL_BEGIN

@interface ATNativeTool : NSObject

+ (ATNativeADConfiguration *)getATNativeADConfiguration:(NSDictionary *)extraDic;
+ (ATNativeADConfiguration *)getATNativeADConfiguration:(NSDictionary *)extraDic isAdaptiveHeight:(BOOL)isAdaptiveHeight;

/// Whether native ad is ready
+ (BOOL)nativeAdReady:(NSString *)placementID;

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

/// Get native placement status
+ (NSDictionary *)checkNativeLoadStatus:(NSString *)placementID;

/// Cache JS setShowConfig (scenarioId / showCustomExt) for use when Fabric attach
+ (void)setShowConfigMap:(NSDictionary *)map forPlacementID:(NSString *)placementID;

/// Cache JS setLocalExtra
+ (void)setLocalExtraMap:(NSDictionary *)map forPlacementID:(NSString *)placementID;

+ (NSDictionary *)localExtraForPlacementID:(NSString *)placementID;

+ (NSString *)showCustomExtForPlacementID:(NSString *)placementID;

+ (NSString *)scenarioIdForPlacementID:(NSString *)placementID;

+ (void)clearPlacementState:(NSString *)placementID;

@end

NS_ASSUME_NONNULL_END
