//
//  SCAdConfiguration.h
//  SCTVOSSDK
//
//  Copyright © 2018 smartclip. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@class SCAdEnvironment, SCAdVariants;

/**
 * This class is used for configuring the advertisement behavior
 */
@interface SCAdConfiguration : NSObject
/// The request url for you advertisement content
@property (nonatomic, copy) NSString            *adURL;
/// BundleId of the app
@property (nonatomic, copy) NSString            *bundleId;
/// Use this to enable bitrate calculation, or set desiredBitrate
@property (nonatomic, strong) SCAdEnvironment   *environment;
/// If you use opener, closer or bumper, SCAdVariants is the place to define them
@property (nonatomic, strong) SCAdVariants      *variants;
/// You can prevent ad skipping with this boolean value, defaults to true
@property (nonatomic)         BOOL              allowAdSkipping;
/// You can define an offset value, when you want to allow ad skipping (defaults to -1, meaning never)
@property (nonatomic)         NSInteger         skipOffset;
/// force opener playback
@property (nonatomic)         BOOL              forceOpener;
/// force closer playback
@property (nonatomic)         BOOL              forceCloser;
/// force bumper playback
@property (nonatomic)         BOOL              forceBumper;

/// defaultTVOSConfiguration for use with tvOS
+ (SCAdConfiguration*)defaultTVOSConfigurationWith:(SCAdEnvironment*)environment;
/// The default configuration can be accessed through this static method
+ (SCAdConfiguration*)defaultConfigurationWith:(NSString*)requestURL variants:(SCAdVariants*)variants;
/// Default configuration initialized with the given SCAdEnvironment values
+ (SCAdConfiguration*)defaultConfigurationWith:(NSString*)requestURL variants:(SCAdVariants*)variants environment:(SCAdEnvironment*)environment;
@end

NS_ASSUME_NONNULL_END
