283 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			C
		
	
	
	
		
		
			
		
	
	
			283 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			C
		
	
	
	
|  | //
 | |||
|  | //  TDConstant.h
 | |||
|  | //  ThinkingSDK
 | |||
|  | //
 | |||
|  | //  Created by LiHuanan on 2020/9/8.
 | |||
|  | //  Copyright © 2020 thinkingdata. All rights reserved.
 | |||
|  | //
 | |||
|  | 
 | |||
|  | #import <Foundation/Foundation.h>
 | |||
|  | 
 | |||
|  | /**
 | |||
|  |  Log Level | |||
|  | 
 | |||
|  |  - TDLoggingLevelNone : Not enabled by default | |||
|  |  */ | |||
|  | typedef NS_OPTIONS(NSInteger, TDLoggingLevel) { | |||
|  |     /**
 | |||
|  |      Not enabled by default | |||
|  |      */ | |||
|  |     TDLoggingLevelNone  = 0, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Error Log | |||
|  |      */ | |||
|  |     TDLoggingLevelError = 1 << 0, | |||
|  |      | |||
|  |      | |||
|  |     /**
 | |||
|  |      Warning Log | |||
|  |      */ | |||
|  |     TDLoggingLevelWarning = 1 << 1, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Info  Log | |||
|  |      */ | |||
|  |     TDLoggingLevelInfo  = 1 << 2, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Debug Log | |||
|  |      */ | |||
|  |     TDLoggingLevelDebug = 1 << 3, | |||
|  | }; | |||
|  | 
 | |||
|  | /**
 | |||
|  | Debug Mode | |||
|  | 
 | |||
|  | - ThinkingAnalyticsDebugOff : Not enabled by default | |||
|  | */ | |||
|  | __attribute__((deprecated("This class is deprecated. Use the newClass instead: TDMode"))) | |||
|  | typedef NS_OPTIONS(NSInteger, ThinkingAnalyticsDebugMode) { | |||
|  |     /**
 | |||
|  |      Not enabled by default | |||
|  |      */ | |||
|  |     ThinkingAnalyticsDebugOff      = 0, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Enable DebugOnly Mode, Data is not persisted | |||
|  |      */ | |||
|  |     ThinkingAnalyticsDebugOnly     = 1 << 0, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Enable Debug Mode,Data will persist | |||
|  |      */ | |||
|  |     ThinkingAnalyticsDebug         = 1 << 1, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Enable Debug Mode,Data will persist,Equivalent to ThinkingAnalyticsDebug | |||
|  |      */ | |||
|  |     ThinkingAnalyticsDebugOn = ThinkingAnalyticsDebug, | |||
|  | }; | |||
|  | 
 | |||
|  | /**
 | |||
|  | Debug Mode | |||
|  | 
 | |||
|  | - ThinkingAnalyticsDebugOff : Not enabled by default | |||
|  | */ | |||
|  | typedef NS_OPTIONS(NSInteger, TDMode) { | |||
|  |     /**
 | |||
|  |      Not enabled by default | |||
|  |      */ | |||
|  |     TDModeNormal      = 0, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Enable DebugOnly Mode, Data is not persisted | |||
|  |      */ | |||
|  |     TDModeDebugOnly     = 1 << 0, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Enable Debug Mode,Data will persist | |||
|  |      */ | |||
|  |     TDModeDebug         = 1 << 1, | |||
|  | }; | |||
|  | 
 | |||
|  | 
 | |||
|  | /**
 | |||
|  |  Https Certificate Verification Mode | |||
|  | */ | |||
|  | typedef NS_OPTIONS(NSInteger, TDSSLPinningMode) { | |||
|  |     /**
 | |||
|  |      The default authentication method will only verify the certificate returned by the server in the system's trusted certificate list | |||
|  |     */ | |||
|  |     TDSSLPinningModeNone          = 0, | |||
|  |      | |||
|  |     /**
 | |||
|  |      The public key of the verification certificate | |||
|  |     */ | |||
|  |     TDSSLPinningModePublicKey     = 1 << 0, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Verify all contents of the certificate | |||
|  |     */ | |||
|  |     TDSSLPinningModeCertificate   = 1 << 1 | |||
|  | }; | |||
|  | 
 | |||
|  | /**
 | |||
|  |  Custom HTTPS Authentication | |||
|  | */ | |||
|  | typedef NSURLSessionAuthChallengeDisposition (^TDURLSessionDidReceiveAuthenticationChallengeBlock)(NSURLSession *_Nullable session, NSURLAuthenticationChallenge *_Nullable challenge, NSURLCredential *_Nullable __autoreleasing *_Nullable credential); | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | /**
 | |||
|  |  Network Type Enum | |||
|  | 
 | |||
|  |  - TDNetworkTypeDefault :  3G、4G、WIFI | |||
|  |  */ | |||
|  | __attribute__((deprecated("This class is deprecated. Use the newClass instead: TDReportingNetworkType"))) | |||
|  | typedef NS_OPTIONS(NSInteger, ThinkingAnalyticsNetworkType) { | |||
|  |      | |||
|  |     /**
 | |||
|  |      only WIFI | |||
|  |      */ | |||
|  |     TDNetworkTypeOnlyWIFI = 1 << 0, | |||
|  |      | |||
|  |     /**
 | |||
|  |      2G、3G、4G、WIFI | |||
|  |      */ | |||
|  |     TDNetworkTypeALL      = 1 << 1, | |||
|  |      | |||
|  |     /**
 | |||
|  |      3G、4G、WIFI | |||
|  |      */ | |||
|  |     TDNetworkTypeDefault  = TDNetworkTypeALL, | |||
|  | }; | |||
|  | 
 | |||
|  | typedef NS_OPTIONS(NSInteger, TDReportingNetworkType) { | |||
|  |     TDReportingNetworkTypeWIFI = 1 << 0, | |||
|  |     TDReportingNetworkTypeALL = 1 << 1, | |||
|  | }; | |||
|  | 
 | |||
|  | /**
 | |||
|  |  Auto-Tracking Enum | |||
|  | 
 | |||
|  |  - ThinkingAnalyticsEventTypeNone           : auto-tracking is not enabled by default | |||
|  |  */ | |||
|  | __attribute__((deprecated("This class is deprecated. Use the newClass instead: TDAutoTrackEventType"))) | |||
|  | typedef NS_OPTIONS(NSInteger, ThinkingAnalyticsAutoTrackEventType) { | |||
|  |      | |||
|  |     /**
 | |||
|  |      auto-tracking is not enabled by default | |||
|  |      */ | |||
|  |     ThinkingAnalyticsEventTypeNone          = 0, | |||
|  |      | |||
|  |     /*
 | |||
|  |      Active Events | |||
|  |      */ | |||
|  |     ThinkingAnalyticsEventTypeAppStart      = 1 << 0, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Inactive Events | |||
|  |      */ | |||
|  |     ThinkingAnalyticsEventTypeAppEnd        = 1 << 1, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Clicked events | |||
|  |      */ | |||
|  |     ThinkingAnalyticsEventTypeAppClick      = 1 << 2, | |||
|  |      | |||
|  |     /**
 | |||
|  |      View Page Events | |||
|  |      */ | |||
|  |     ThinkingAnalyticsEventTypeAppViewScreen = 1 << 3, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Crash Events | |||
|  |      */ | |||
|  |     ThinkingAnalyticsEventTypeAppViewCrash  = 1 << 4, | |||
|  |      | |||
|  |     /**
 | |||
|  |      Installation Events | |||
|  |      */ | |||
|  |     ThinkingAnalyticsEventTypeAppInstall    = 1 << 5, | |||
|  |     /**
 | |||
|  |      All  Events | |||
|  |      */ | |||
|  |     ThinkingAnalyticsEventTypeAll    = ThinkingAnalyticsEventTypeAppStart | ThinkingAnalyticsEventTypeAppEnd | ThinkingAnalyticsEventTypeAppClick | ThinkingAnalyticsEventTypeAppInstall | ThinkingAnalyticsEventTypeAppViewCrash | ThinkingAnalyticsEventTypeAppViewScreen | |||
|  | 
 | |||
|  | }; | |||
|  | 
 | |||
|  | typedef NS_OPTIONS(NSInteger, ThinkingNetworkType) { | |||
|  |     ThinkingNetworkTypeNONE     = 0, | |||
|  |     ThinkingNetworkType2G       = 1 << 0, | |||
|  |     ThinkingNetworkType3G       = 1 << 1, | |||
|  |     ThinkingNetworkType4G       = 1 << 2, | |||
|  |     ThinkingNetworkTypeWIFI     = 1 << 3, | |||
|  |     ThinkingNetworkType5G       = 1 << 4, | |||
|  |     ThinkingNetworkTypeALL      = 0xFF, | |||
|  | }; | |||
|  | 
 | |||
|  | 
 | |||
|  | typedef NS_OPTIONS(NSInteger, TDThirdPartyType) { | |||
|  |     TDThirdPartyTypeNone               = 0, | |||
|  |     TDThirdPartyTypeAppsFlyer          = 1 << 0, | |||
|  |     TDThirdPartyTypeIronSource         = 1 << 1, | |||
|  |     TDThirdPartyTypeAdjust             = 1 << 2, | |||
|  |     TDThirdPartyTypeBranch             = 1 << 3, | |||
|  |     TDThirdPartyTypeTopOn              = 1 << 4, | |||
|  |     TDThirdPartyTypeTracking           = 1 << 5, | |||
|  |     TDThirdPartyTypeTradPlus           = 1 << 6, | |||
|  |     TDThirdPartyTypeAppLovin           = 1 << 7, | |||
|  |     TDThirdPartyTypeKochava            = 1 << 8, | |||
|  |     TDThirdPartyTypeTalkingData        = 1 << 9, | |||
|  |     TDThirdPartyTypeFirebase           = 1 << 10, | |||
|  | }; | |||
|  | 
 | |||
|  | __attribute__((deprecated("This class is deprecated. Use the newClass instead: TDThirdPartyType"))) | |||
|  | typedef NS_OPTIONS(NSUInteger, TAThirdPartyShareType) { | |||
|  |     TAThirdPartyShareTypeNONE               = TDThirdPartyTypeNone, | |||
|  |     TAThirdPartyShareTypeAPPSFLYER          = TDThirdPartyTypeAppsFlyer, | |||
|  |     TAThirdPartyShareTypeIRONSOURCE         = TDThirdPartyTypeIronSource, | |||
|  |     TAThirdPartyShareTypeADJUST             = TDThirdPartyTypeAdjust, | |||
|  |     TAThirdPartyShareTypeBRANCH             = TDThirdPartyTypeBranch, | |||
|  |     TAThirdPartyShareTypeTOPON              = TDThirdPartyTypeTopOn, | |||
|  |     TAThirdPartyShareTypeTRACKING           = TDThirdPartyTypeTracking, | |||
|  |     TAThirdPartyShareTypeTRADPLUS           = TDThirdPartyTypeTradPlus, | |||
|  |     TAThirdPartyShareTypeAPPLOVIN           = TDThirdPartyTypeAppLovin, | |||
|  |     TAThirdPartyShareTypeKOCHAVA            = TDThirdPartyTypeKochava, | |||
|  |     TAThirdPartyShareTypeTALKINGDATA        = TDThirdPartyTypeTalkingData, | |||
|  |     TAThirdPartyShareTypeFIREBASE           = TDThirdPartyTypeFirebase, | |||
|  |      | |||
|  |     TDThirdPartyShareTypeNONE               = TAThirdPartyShareTypeNONE, | |||
|  |     TDThirdPartyShareTypeAPPSFLYER          = TAThirdPartyShareTypeAPPSFLYER, | |||
|  |     TDThirdPartyShareTypeIRONSOURCE         = TAThirdPartyShareTypeIRONSOURCE, | |||
|  |     TDThirdPartyShareTypeADJUST             = TAThirdPartyShareTypeADJUST, | |||
|  |     TDThirdPartyShareTypeBRANCH             = TAThirdPartyShareTypeBRANCH, | |||
|  |     TDThirdPartyShareTypeTOPON              = TAThirdPartyShareTypeTOPON, | |||
|  |     TDThirdPartyShareTypeTRACKING           = TAThirdPartyShareTypeTRACKING, | |||
|  |     TDThirdPartyShareTypeTRADPLUS           = TAThirdPartyShareTypeTRADPLUS, | |||
|  | }; | |||
|  | 
 | |||
|  | //MARK: - Data reporting status
 | |||
|  | typedef NS_ENUM(NSInteger, TDTrackStatus) { | |||
|  |     /// Suspend reporting
 | |||
|  |     TDTrackStatusPause, | |||
|  |     /// Stop reporting and clear cache
 | |||
|  |     TDTrackStatusStop, | |||
|  |     /// Suspend reporting and continue to persist data
 | |||
|  |     TDTrackStatusSaveOnly, | |||
|  |     /// reset normal
 | |||
|  |     TDTrackStatusNormal | |||
|  | }; | |||
|  | 
 | |||
|  | 
 | |||
|  | //MARK: - Data reporting status
 | |||
|  | __attribute__((deprecated("This class is deprecated. Use the newClass instead: TDTrackStatus"))) | |||
|  | typedef NS_ENUM(NSInteger, TATrackStatus) { | |||
|  |     /// Suspend reporting
 | |||
|  |     TATrackStatusPause, | |||
|  |     /// Stop reporting and clear cache
 | |||
|  |     TATrackStatusStop, | |||
|  |     /// Suspend reporting and continue to persist data
 | |||
|  |     TATrackStatusSaveOnly, | |||
|  |     /// reset normal
 | |||
|  |     TATrackStatusNormal | |||
|  | }; | |||
|  | 
 | |||
|  | //MARK: - DNS service
 | |||
|  | typedef NSString *TDDNSService NS_TYPED_EXTENSIBLE_ENUM; | |||
|  | static TDDNSService const _Nonnull TDDNSServiceCloudFlare = @"https://cloudflare-dns.com/dns-query?name="; | |||
|  | static TDDNSService const _Nonnull TDDNSServiceCloudALi = @"https://223.5.5.5/resolve?name="; | |||
|  | static TDDNSService const _Nonnull TDDNSServiceCloudGoogle = @"https://8.8.8.8/resolve?name="; | |||
|  | 
 |