| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 | ////  ALSdkConfiguration.h//  AppLovinSDK////  Created by Thomas So on 9/29/18.//  Copyright © 2020 AppLovin Corporation. All rights reserved.//NS_ASSUME_NONNULL_BEGIN/** * This class contains various properties of the AppLovin SDK configuration. */@interface ALSdkConfiguration : NSObject/** * This enum represents the user's geography used to determine the type of consent flow shown to the user. */typedef NS_ENUM(NSInteger, ALConsentFlowUserGeography){    /**     * User's geography is unknown.     */    ALConsentFlowUserGeographyUnknown,        /**     * The user is in GDPR region.     */    ALConsentFlowUserGeographyGDPR,        /**     * The user is in a non-GDPR region.     */    ALConsentFlowUserGeographyOther};/** * AppLovin SDK-defined app tracking transparency status values (extended to include "unavailable" state on iOS before iOS14). */typedef NS_ENUM(NSInteger, ALAppTrackingTransparencyStatus){    /**     * Device is on iOS before iOS14, AppTrackingTransparency.framework is not available.     */    ALAppTrackingTransparencyStatusUnavailable = -1,        /**     * The user has not yet received an authorization request to authorize access to app-related data that can be used for tracking the user or the device.     */    ALAppTrackingTransparencyStatusNotDetermined,        /**     * Authorization to access app-related data that can be used for tracking the user or the device is restricted.     */    ALAppTrackingTransparencyStatusRestricted,        /**     * The user denies authorization to access app-related data that can be used for tracking the user or the device.     */    ALAppTrackingTransparencyStatusDenied,        /**     * The user authorizes access to app-related data that can be used for tracking the user or the device.     */    ALAppTrackingTransparencyStatusAuthorized};/** * Get the user's geography used to determine the type of consent flow shown to the user. * If no such determination could be made, @c ALConsentFlowUserGeographyUnknown will be returned. */@property (nonatomic, assign, readonly) ALConsentFlowUserGeography consentFlowUserGeography;/** * Gets the country code for this user. The value of this property will be an empty string if no country code is available for this user. * * @warning Do not confuse this with the <em>currency</em> code which is "USD" in most cases. */@property (nonatomic, copy, readonly) NSString *countryCode;/** * Get the list of those Ad Unit IDs that are in the waterfall that is currently active for a particular user and * for which Amazon Publisher Services is enabled. * * Which waterfall is currently active for a user depends on things like A/B tests, keyword targeting, or DNT. * * @return @c nil when configuration fetching fails (e.g. in the case of no connection) or * an empty array if no Ad Unit IDs have Amazon Publisher Services enabled. */@property (nonatomic, strong, readonly, nullable) NSArray<NSString *> *enabledAmazonAdUnitIdentifiers;/** * Indicates whether or not the user authorizes access to app-related data that can be used for tracking the user or the device. * * @warning Users can revoke permission at any time through the "Allow Apps To Request To Track" privacy setting on the device. */@property (nonatomic, assign, readonly) ALAppTrackingTransparencyStatus appTrackingTransparencyStatus;- (instancetype)init NS_UNAVAILABLE;+ (instancetype)new NS_UNAVAILABLE;/** * Whether or not test mode is enabled for this session. * * @return @c YES in one of the following cases: * <ul> * <li> 1. @code ALSdkInitializationConfiguration.testDeviceAdvertisingIdentifiers @endcode was set with current device's IDFA prior to SDK initialization.</li> * <li> 2. Current device was registered as a test device through MAX dashboard -> MAX Test Devices prior to SDK initialization.</li> * <li> 3. Test mode was manually enabled for this session through the Mediation Debugger during the last session.</li> * <li> 4. Current device is a simulator.</li> * </ul> */@property (nonatomic, assign, readonly, getter=isTestModeEnabled) BOOL testModeEnabled;@endNS_ASSUME_NONNULL_END__attribute__((deprecated))typedef NS_ENUM(NSInteger, ALConsentDialogState){    ALConsentDialogStateUnknown,    ALConsentDialogStateApplies,    ALConsentDialogStateDoesNotApply};@interface ALSdkConfiguration (ALDeprecated)@property (nonatomic, assign, readonly) ALConsentDialogState consentDialogState __deprecated_msg("This API has been deprecated and will be removed in a future release.");@end
 |