2023-12-26 03:52:53 +00:00
//
// ADJConfig.h
// adjust
//
// Created by Pedro Filipe on 30/10/14.
// Copyright (c) 2014 adjust GmbH. All rights reserved.
//
# import <Foundation / Foundation.h>
# import "ADJLogger.h"
# import "ADJAttribution.h"
# import "ADJEventSuccess.h"
# import "ADJEventFailure.h"
# import "ADJSessionSuccess.h"
# import "ADJSessionFailure.h"
/**
* @ brief Optional delegate that will get informed about tracking results .
*/
@ protocol AdjustDelegate
@ optional
/**
* @ brief Optional delegate method that gets called when the attribution information changed .
*
* @ param attribution The attribution information .
*
* @ note See ADJAttribution for details .
*/
- ( void ) adjustAttributionChanged : ( nullable ADJAttribution * ) attribution ;
/**
* @ brief Optional delegate method that gets called when an event is tracked with success .
*
* @ param eventSuccessResponseData The response information from tracking with success
*
* @ note See ADJEventSuccess for details .
*/
- ( void ) adjustEventTrackingSucceeded : ( nullable ADJEventSuccess * ) eventSuccessResponseData ;
/**
* @ brief Optional delegate method that gets called when an event is tracked with failure .
*
* @ param eventFailureResponseData The response information from tracking with failure
*
* @ note See ADJEventFailure for details .
*/
- ( void ) adjustEventTrackingFailed : ( nullable ADJEventFailure * ) eventFailureResponseData ;
/**
* @ brief Optional delegate method that gets called when an session is tracked with success .
*
* @ param sessionSuccessResponseData The response information from tracking with success
*
* @ note See ADJSessionSuccess for details .
*/
- ( void ) adjustSessionTrackingSucceeded : ( nullable ADJSessionSuccess * ) sessionSuccessResponseData ;
/**
* @ brief Optional delegate method that gets called when an session is tracked with failure .
*
* @ param sessionFailureResponseData The response information from tracking with failure
*
* @ note See ADJSessionFailure for details .
*/
- ( void ) adjustSessionTrackingFailed : ( nullable ADJSessionFailure * ) sessionFailureResponseData ;
/**
* @ brief Optional delegate method that gets called when a deferred deep link is about to be opened by the adjust SDK .
*
* @ param deeplink The deep link url that was received by the adjust SDK to be opened .
*
* @ return Boolean that indicates whether the deep link should be opened by the adjust SDK or not .
*/
- ( BOOL ) adjustDeeplinkResponse : ( nullable NSURL * ) deeplink ;
/**
* @ brief Optional SKAdNetwork pre 4.0 style delegate method that gets called when Adjust SDK sets conversion value for the user .
*
* @ param conversionValue Conversion value used by Adjust SDK to invoke updateConversionValue : API .
*/
- ( void ) adjustConversionValueUpdated : ( nullable NSNumber * ) conversionValue ;
/**
* @ brief Optional SKAdNetwork 4.0 style delegate method that gets called when Adjust SDK sets conversion value for the user .
* You can use this callback even with using pre 4.0 SKAdNetwork .
* In that case you can expect coarseValue and lockWindow values to be nil .
*
* @ param fineValue Conversion value set by Adjust SDK .
* @ param coarseValue Coarse value set by Adjust SDK .
* @ param lockWindow Lock window set by Adjust SDK .
*/
- ( void ) adjustConversionValueUpdated : ( nullable NSNumber * ) fineValue
coarseValue : ( nullable NSString * ) coarseValue
lockWindow : ( nullable NSNumber * ) lockWindow ;
@ end
/**
* @ brief Adjust configuration object class .
*/
@ interface ADJConfig : NSObject < NSCopying >
/**
* @ brief SDK prefix .
*
* @ note Not to be used by users , intended for non - native adjust SDKs only .
*/
@ property ( nonatomic , copy , nullable ) NSString * sdkPrefix ;
/**
* @ brief Default tracker to attribute organic installs to ( optional ) .
*/
@ property ( nonatomic , copy , nullable ) NSString * defaultTracker ;
@ property ( nonatomic , copy , nullable ) NSString * externalDeviceId ;
/**
* @ brief Adjust app token .
*/
@ property ( nonatomic , copy , readonly , nonnull ) NSString * appToken ;
/**
* @ brief Adjust environment variable .
*/
@ property ( nonatomic , copy , readonly , nonnull ) NSString * environment ;
/**
* @ brief Change the verbosity of Adjust ' s logs .
*
* @ note You can increase or reduce the amount of logs from Adjust by passing
* one of the following parameters . Use ADJLogLevelSuppress to disable all logging .
* The desired minimum log level ( default : info )
* Must be one of the following :
* - ADJLogLevelVerbose ( enable all logging )
* - ADJLogLevelDebug ( enable more logging )
* - ADJLogLevelInfo ( the default )
* - ADJLogLevelWarn ( disable info logging )
* - ADJLogLevelError ( disable warnings as well )
* - ADJLogLevelAssert ( disable errors as well )
* - ADJLogLevelSuppress ( suppress all logging )
*/
@ property ( nonatomic , assign ) ADJLogLevel logLevel ;
/**
* @ brief Enable event buffering if your app triggers a lot of events .
* When enabled , events get buffered and only get tracked each
* minute . Buffered events are still persisted , of course .
*/
@ property ( nonatomic , assign ) BOOL eventBufferingEnabled ;
/**
* @ brief Set the optional delegate that will inform you about attribution or events .
*
* @ note See the AdjustDelegate declaration above for details .
*/
@ property ( nonatomic , weak , nullable ) NSObject < AdjustDelegate > * delegate ;
/**
* @ brief Enables sending in the background .
*/
@ property ( nonatomic , assign ) BOOL sendInBackground ;
/**
* @ brief Enables / disables reading of iAd framework data needed for ASA tracking .
*/
@ property ( nonatomic , assign ) BOOL allowiAdInfoReading DEPRECATED_MSG_ATTRIBUTE ( " Apple Search Ads attribution with usage of iAd.framework has been sunset by Apple as of February 7th 2023 " ) ;
/**
* @ brief Enables / disables reading of AdServices framework data needed for attribution .
*/
@ property ( nonatomic , assign ) BOOL allowAdServicesInfoReading ;
/**
* @ brief Enables / disables reading of IDFA parameter .
*/
@ property ( nonatomic , assign ) BOOL allowIdfaReading ;
/**
* @ brief Enables delayed start of the SDK .
*/
@ property ( nonatomic , assign ) double delayStart ;
/**
* @ brief Define how many seconds to wait for ATT status before sending the first data .
*/
@ property ( nonatomic , assign ) NSUInteger attConsentWaitingInterval ;
/**
* @ brief User agent for the requests .
*/
@ property ( nonatomic , copy , nullable ) NSString * userAgent ;
/**
* @ brief Set if the device is known .
*/
@ property ( nonatomic , assign ) BOOL isDeviceKnown ;
/**
* @ brief Set if cost data is needed in attribution response .
*/
@ property ( nonatomic , assign ) BOOL needsCost ;
/**
* @ brief Adjust app secret id .
*/
@ property ( nonatomic , copy , readonly , nullable ) NSString * secretId ;
/**
* @ brief Adjust app secret .
*/
@ property ( nonatomic , copy , readonly , nullable ) NSString * appSecret ;
/**
* @ brief Adjust set app secret .
*/
- ( void ) setAppSecret : ( NSUInteger ) secretId
info1 : ( NSUInteger ) info1
info2 : ( NSUInteger ) info2
info3 : ( NSUInteger ) info3
info4 : ( NSUInteger ) info4 ;
@ property ( nonatomic , assign , readonly ) BOOL isSKAdNetworkHandlingActive ;
- ( void ) deactivateSKAdNetworkHandling ;
/**
* @ brief Adjust url strategy .
*/
@ property ( nonatomic , copy , readwrite , nullable ) NSString * urlStrategy ;
/**
* @ brief Enables / disables linkMe
*/
@ property ( nonatomic , assign ) BOOL linkMeEnabled ;
/**
* @ brief Get configuration object for the initialization of the Adjust SDK .
*
* @ param appToken The App Token of your app . This unique identifier can
* be found it in your dashboard at http : //adjust.com and should always
* be 12 characters long .
* @ param environment The current environment your app . We use this environment to
* distinguish between real traffic and artificial traffic from test devices .
* It is very important that you keep this value meaningful at all times !
* Especially if you are tracking revenue .
*
* @ returns Adjust configuration object .
*/
+ ( nullable ADJConfig * ) configWithAppToken : ( nonnull NSString * ) appToken
environment : ( nonnull NSString * ) environment ;
- ( nullable id ) initWithAppToken : ( nonnull NSString * ) appToken
environment : ( nonnull NSString * ) environment ;
/**
* @ brief Configuration object for the initialization of the Adjust SDK .
*
* @ param appToken The App Token of your app . This unique identifier can
* be found it in your dashboard at http : //adjust.com and should always
* be 12 characters long .
* @ param environment The current environment your app . We use this environment to
* distinguish between real traffic and artificial traffic from test devices .
* It is very important that you keep this value meaningful at all times !
* Especially if you are tracking revenue .
* @ param allowSuppressLogLevel If set to true , it allows usage of ADJLogLevelSuppress
* and replaces the default value for production environment .
*
* @ returns Adjust configuration object .
*/
+ ( nullable ADJConfig * ) configWithAppToken : ( nonnull NSString * ) appToken
environment : ( nonnull NSString * ) environment
allowSuppressLogLevel : ( BOOL ) allowSuppressLogLevel ;
- ( nullable id ) initWithAppToken : ( nonnull NSString * ) appToken
environment : ( nonnull NSString * ) environment
allowSuppressLogLevel : ( BOOL ) allowSuppressLogLevel ;
/**
* @ brief Check if adjust configuration object is valid .
*
* @ return Boolean indicating whether adjust config object is valid or not .
*/
- ( BOOL ) isValid ;
/**
* @ brief Enable COPPA ( Children ' s Online Privacy Protection Act ) compliant for the application .
*/
@ property ( nonatomic , assign ) BOOL coppaCompliantEnabled ;
2024-04-16 05:30:31 +00:00
/**
* @ brief Enables caching of device ids to read it only once
*/
@ property ( nonatomic , assign ) BOOL readDeviceInfoOnceEnabled ;
2023-12-26 03:52:53 +00:00
@ end