HDwallpaper/HD wallpaper/FW/AppLovinSDK.xcframework/ios-arm64/AppLovinSDK.framework/Headers/ALSdkInitializationConfiguration.h
2024-07-03 17:31:03 +08:00

130 lines
4.6 KiB
Objective-C

//
// ALSdkInitializationConfiguration.h
// AppLovinSDK
//
// Created by Chris Cong on 1/22/24.
//
#import <AppLovinSDK/ALTargetingData.h>
#import <AppLovinSDK/ALUserSegment.h>
@class ALSdkInitializationConfigurationBuilder;
NS_ASSUME_NONNULL_BEGIN
/**
* Builder block used to create an ALSdkInitializationConfiguration object.
*/
typedef void (^ALSdkInitializationConfigurationBuilderBlock) (ALSdkInitializationConfigurationBuilder *builder);
/**
* This class contains configurable properties for the initialization of the AppLovin SDK.
* It also reads any values you have already configured in the application's @c Info.plist.
* To be used in @code [[ALSdk shared] initializeWithConfiguration:completionHandler].
*/
@interface ALSdkInitializationConfiguration : NSObject
@property (nonatomic, copy, readonly, nullable) NSString *sdkKey;
@property (nonatomic, copy, readonly, nullable) NSString *mediationProvider;
@property (nonatomic, copy, readonly, nullable) NSString *pluginVersion;
@property (nonatomic, strong, readonly, nullable) ALUserSegment *userSegment;
@property (nonatomic, strong, readonly, nullable) ALTargetingData *targetingData;
@property (nonatomic, copy, readonly) NSArray<NSString *> *testDeviceAdvertisingIdentifiers;
@property (nonatomic, copy, readonly) NSArray<NSString *> *adUnitIdentifiers;
@property (nonatomic, assign, readonly, getter=isExceptionHandlerEnabled) BOOL exceptionHandlerEnabled;
#pragma mark - Initialization
/**
* Creates a SDK initialization configuration object with the given SDK key.
* Note: the properties on @c ALSdkInitializationConfiguration are immutable and must be configured on initialization in @c ALSdkInitializationConfigurationBuilder.
*/
+ (instancetype)configurationWithSdkKey:(NSString *)sdkKey;
/**
* Creates a SDK initialization configuration object constructed from the @c ALSdkInitializationConfigurationBuilder block.
* You may modify the configuration from within the block.
*/
+ (instancetype)configurationWithSdkKey:(NSString *)sdkKey builderBlock:(nullable NS_NOESCAPE ALSdkInitializationConfigurationBuilderBlock)builderBlock;
/**
* Creates a builder object for @c ALSdkInitializationConfiguration.
* Please call @c -build to create a @c ALSdkInitializationConfiguration object.
*
* @return a @c ALSdkInitializationConfigurationBuilder object.
*/
+ (ALSdkInitializationConfigurationBuilder *)builderWithSdkKey:(NSString *)sdkKey;
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
@end
#pragma mark - ALSdkInitializationConfiguration Builder
/**
* Builder class used to create an ALSdkInitializationConfiguration object.
* This class contains configurable properties for the initialization of the AppLovin SDK.
*/
@interface ALSdkInitializationConfigurationBuilder : NSObject
/**
* @return SDK key for the AppLovin SDK.
*/
@property (nonatomic, copy, readonly) NSString *sdkKey;
/**
* The mediation provider. Set this either by using one of the provided strings in ALMediationProvider.h, or your own string if you do not find an
* applicable one there.
*/
@property (nonatomic, copy, nullable) NSString *mediationProvider;
/**
* Sets the plugin version for the mediation adapter or plugin.
*/
@property (nonatomic, copy, nullable) NSString *pluginVersion;
/**
* A user segment allows AppLovin to serve ads by using custom-defined rules that are based on which segment the user is in. The user segment is a custom string
* of 32 alphanumeric characters or less.
*/
@property (nonatomic, strong, nullable) ALUserSegment *userSegment;
/**
* A class which allows you to send any demographic or interest-based targeting data.
*/
@property (nonatomic, strong, nullable) ALTargetingData *targetingData;
/**
* Enable devices to receive test ads by passing in the advertising identifier (IDFA or IDFV) of each test device.
* Refer to AppLovin logs for the IDFA or IDFV of your current device.
*/
@property (nonatomic, copy) NSArray<NSString *> *testDeviceAdvertisingIdentifiers;
/**
* The MAX ad unit IDs that you will use for this instance of the SDK. This initializes third-party SDKs with the credentials configured for these ad unit IDs.
*/
@property (nonatomic, copy) NSArray<NSString *> *adUnitIdentifiers;
/**
* Whether or not the AppLovin SDK listens to exceptions. Defaults to @c YES.
*/
@property (nonatomic, assign) BOOL exceptionHandlerEnabled;
#pragma mark - Build
/**
* Builds a @c ALSdkInitializationConfiguration object from the builder properties' values.
*
* @return a @c ALSdkInitializationConfiguration object.
*/
- (ALSdkInitializationConfiguration *)build;
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
@end
NS_ASSUME_NONNULL_END