AATKitConfiguration

/**
 * Used to set up AATKit.
 *
 * @constructor Creates the default Configuration object to be used when initializing AATKit.
 *
 * @param application Reference to [Application].
 */
class AATKitConfiguration(val application: Application) {
    /**
     * Sets if the GDPR consent is required (if the user falls under GDPR jurisdiction). True by default.
     */
    var isConsentRequired = true

    /**
     * Sets the detailed consent for GDPR.
     */
    var consent: Consent? = null

    /**
     * Sets if geo data (if it is available) should be sent. Disabled by default.
     */
    var isUseGeoLocation = false

    /**
     * Allows the AATKit to preserve last downloaded ad rules when the application is closed.
     * Such rules will be re-used next time the application is started, before new ones get downloaded.
     * Enabled by default.
     */
    var isShouldCacheRules = true

    /**
     * Sets if networks without TCF2 consent should be skipped (only works if TCF2 compliant CMP is used). False by default.
     */
    var isShouldSkipRules = false

    /**
     * If used together with [setAlternativeBundleId] allows to set if the same fake bundle ID should be used in reporting.
     * True by default. If set to false, real bundle ID will be used in reporting even if fake one is used for testing.
     */
    var isShouldReportUsingAlternativeBundleId = true

    /**
     * Sets the delegate notifying about AATKit events.
     */
    var delegate: AATKit.Delegate? = null

    /**
     * Sets if the debug screen should be displayed after shaking the device. Enabled by default.
     */
    var isUseDebugShake = true

    /**
     * Sets the platform. Android by default
     */
    var platform = Platform.ANDROID

    /**
     * Sets the optional listener notifying about reporting.
     */
    var reportsDelegate: ReportsDelegate? = null
    
     /**
     * Object describing advanced ad-network specific configurations.
     */
    var adNetworkOptions: AATKitAdNetworkOptions? = null

    /**
     * Allows setting of ad rules that will be used before real rules from the server are downloaded.
     *
     * @param initialRules String containing the rules to be used.
     */
    fun setInitialRules(initialRules: String?) 

    /**
     * Sets the fake bundle ID for testing purposes. It should only be used during development.
     * Cannot be used together with classic test mode ([setTestModeAccountId]).
     *
     * @param alternativeBundleId Bundle ID to be used during testing.
     */
    fun setAlternativeBundleId(alternativeBundleId: String?)

    /**
     * Enables AATKit test ads that should be for testing - only during development.
     * Cannot be used with alternative bundle ID ([setAlternativeBundleId]).
     *
     * @param testModeAccountId Test application id obtained from addapptr.com account.
     */
    fun setTestModeAccountId(testModeAccountId: Int)
}

Last updated