Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 20 additions & 12 deletions Amplitude-Swift.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,11 @@
4E05BB942BE41AEB009DE475 /* Amplitude+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E05BB932BE41AEB009DE475 /* Amplitude+Extensions.swift */; };
4E2B646B2BA127460010E6F8 /* UIKitScreenViewsPluginTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E2B646A2BA127460010E6F8 /* UIKitScreenViewsPluginTests.swift */; };
4E3871622BB34DBC002890AB /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = B6DF481F2B5B45BE00B3E6AA /* PrivacyInfo.xcprivacy */; };
6C23EF112C38AC19000DC8C8 /* UIKitUserInteractions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C23EF102C38AC19000DC8C8 /* UIKitUserInteractions.swift */; };
6C23EF132C38AC24000DC8C8 /* UserInteractionEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C23EF122C38AC24000DC8C8 /* UserInteractionEvent.swift */; };
6C04FC3F2C58973C00EA8667 /* ElementInteractionEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C04FC3E2C58973C00EA8667 /* ElementInteractionEvent.swift */; };
6C04FC412C58974A00EA8667 /* UIKitElementInteractions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C04FC402C58974A00EA8667 /* UIKitElementInteractions.swift */; };
6C04FC432C58976800EA8667 /* ObjCAutocaptureOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C04FC422C58976800EA8667 /* ObjCAutocaptureOptions.swift */; };
6C04FC452C58978900EA8667 /* AutocaptureOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C04FC442C58978900EA8667 /* AutocaptureOptions.swift */; };
6C04FC482C589C8100EA8667 /* AutocaptureOptionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C04FC462C5897AC00EA8667 /* AutocaptureOptionsTests.swift */; };
6C23EF162C38AD31000DC8C8 /* UIKitUserInteractionPluginTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C23EF142C38AC32000DC8C8 /* UIKitUserInteractionPluginTest.swift */; };
8EDEC02B99EE2092B567A61D /* ObjCIngestionMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EDEC500EBDA8B813056E2DB /* ObjCIngestionMetadata.swift */; };
8EDEC1073A308B12B5CCD975 /* AnalyticsConnectorPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EDECD39BAA97DD4320C0AA5 /* AnalyticsConnectorPlugin.swift */; };
Expand Down Expand Up @@ -66,7 +69,6 @@
B6F338A32B685793006179E2 /* NetworkConnectivityCheckerPluginTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6F338A22B685793006179E2 /* NetworkConnectivityCheckerPluginTests.swift */; };
BA0359CA2A51585D007C383B /* legacy_v3.sqlite in Resources */ = {isa = PBXBuildFile; fileRef = BA0359C92A51585D007C383B /* legacy_v3.sqlite */; };
BA0639F62A4DD491000F1CEE /* LegacyDatabaseStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA0639F52A4DD491000F1CEE /* LegacyDatabaseStorage.swift */; };
BA1EC0F42A9F2FC700C2D547 /* DefaultTrackingOptionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA1EC0F32A9F2FC700C2D547 /* DefaultTrackingOptionsTests.swift */; };
BA1EC0F62A9F63FD00C2D547 /* AmplitudeIOSTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA1EC0F52A9F63FD00C2D547 /* AmplitudeIOSTests.swift */; };
BA34B23C2AA0723A00F88097 /* AnalyticsConnector in Frameworks */ = {isa = PBXBuildFile; productRef = BA34B23B2AA0723A00F88097 /* AnalyticsConnector */; };
BA994B9A2A4F48DE00D0913F /* LegacyDatabaseStorageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA994B992A4F48DE00D0913F /* LegacyDatabaseStorageTests.swift */; };
Expand Down Expand Up @@ -155,8 +157,11 @@
3E281B902B9BCC14009D913B /* DispatchQueueHolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DispatchQueueHolder.swift; sourceTree = "<group>"; };
4E05BB932BE41AEB009DE475 /* Amplitude+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Amplitude+Extensions.swift"; sourceTree = "<group>"; };
4E2B646A2BA127460010E6F8 /* UIKitScreenViewsPluginTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIKitScreenViewsPluginTests.swift; sourceTree = "<group>"; };
6C23EF102C38AC19000DC8C8 /* UIKitUserInteractions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIKitUserInteractions.swift; sourceTree = "<group>"; };
6C23EF122C38AC24000DC8C8 /* UserInteractionEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserInteractionEvent.swift; sourceTree = "<group>"; };
6C04FC3E2C58973C00EA8667 /* ElementInteractionEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ElementInteractionEvent.swift; sourceTree = "<group>"; };
6C04FC402C58974A00EA8667 /* UIKitElementInteractions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIKitElementInteractions.swift; sourceTree = "<group>"; };
6C04FC422C58976800EA8667 /* ObjCAutocaptureOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObjCAutocaptureOptions.swift; sourceTree = "<group>"; };
6C04FC442C58978900EA8667 /* AutocaptureOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AutocaptureOptions.swift; sourceTree = "<group>"; };
6C04FC462C5897AC00EA8667 /* AutocaptureOptionsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AutocaptureOptionsTests.swift; sourceTree = "<group>"; };
6C23EF142C38AC32000DC8C8 /* UIKitUserInteractionPluginTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIKitUserInteractionPluginTest.swift; sourceTree = "<group>"; };
8EDEC0630C3B587334275D9B /* AmplitudeSessionTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AmplitudeSessionTests.swift; sourceTree = "<group>"; };
8EDEC1160D95DC3F0E48DDF7 /* ObjCPlugin.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObjCPlugin.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -195,7 +200,6 @@
B6F338A22B685793006179E2 /* NetworkConnectivityCheckerPluginTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkConnectivityCheckerPluginTests.swift; sourceTree = "<group>"; };
BA0359C92A51585D007C383B /* legacy_v3.sqlite */ = {isa = PBXFileReference; lastKnownFileType = file; path = legacy_v3.sqlite; sourceTree = "<group>"; };
BA0639F52A4DD491000F1CEE /* LegacyDatabaseStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyDatabaseStorage.swift; sourceTree = "<group>"; };
BA1EC0F32A9F2FC700C2D547 /* DefaultTrackingOptionsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultTrackingOptionsTests.swift; sourceTree = "<group>"; };
BA1EC0F52A9F63FD00C2D547 /* AmplitudeIOSTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AmplitudeIOSTests.swift; sourceTree = "<group>"; };
BA994B992A4F48DE00D0913F /* LegacyDatabaseStorageTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyDatabaseStorageTests.swift; sourceTree = "<group>"; };
BA994B9B2A4F4B7500D0913F /* legacy_v4.sqlite */ = {isa = PBXFileReference; lastKnownFileType = file; path = legacy_v4.sqlite; sourceTree = "<group>"; };
Expand Down Expand Up @@ -299,6 +303,7 @@
8EDECAFD8271434E8DC7BA78 /* ObjC */ = {
isa = PBXGroup;
children = (
6C04FC422C58976800EA8667 /* ObjCAutocaptureOptions.swift */,
B6CCC6CC2B6B14510004B203 /* ObjCNetworkConnectivityCheckerPlugin.swift */,
8EDECEC5AAE15FD05E76359A /* ObjCConfiguration.swift */,
8EDECB1FA2AFF022A19104EE /* ObjCPlan.swift */,
Expand Down Expand Up @@ -345,7 +350,7 @@
OBJ_13 /* Events */ = {
isa = PBXGroup;
children = (
6C23EF122C38AC24000DC8C8 /* UserInteractionEvent.swift */,
6C04FC3E2C58973C00EA8667 /* ElementInteractionEvent.swift */,
OBJ_14 /* BaseEvent.swift */,
OBJ_15 /* EventOptions.swift */,
OBJ_16 /* GroupIdentifyEvent.swift */,
Expand Down Expand Up @@ -398,7 +403,7 @@
OBJ_32 /* iOS */ = {
isa = PBXGroup;
children = (
6C23EF102C38AC19000DC8C8 /* UIKitUserInteractions.swift */,
6C04FC402C58974A00EA8667 /* UIKitElementInteractions.swift */,
OBJ_33 /* IOSLifecycleMonitor.swift */,
8EDEC650EF79B104DC3C9F4C /* UIKitScreenViews.swift */,
);
Expand Down Expand Up @@ -460,6 +465,7 @@
OBJ_53 /* Tests */ = {
isa = PBXGroup;
children = (
6C04FC462C5897AC00EA8667 /* AutocaptureOptionsTests.swift */,
B6F3389F2B6854A8006179E2 /* Plugins */,
OBJ_54 /* AmplitudeTests.swift */,
OBJ_55 /* ConfigurationTests.swift */,
Expand All @@ -472,7 +478,6 @@
OBJ_70 /* Utilities */,
8EDEC0630C3B587334275D9B /* AmplitudeSessionTests.swift */,
8EDECBC5925DC68913C7CB89 /* Migration */,
BA1EC0F32A9F2FC700C2D547 /* DefaultTrackingOptionsTests.swift */,
BA1EC0F52A9F63FD00C2D547 /* AmplitudeIOSTests.swift */,
4E05BB932BE41AEB009DE475 /* Amplitude+Extensions.swift */,
);
Expand Down Expand Up @@ -512,6 +517,7 @@
OBJ_7 /* Sources */ = {
isa = PBXGroup;
children = (
6C04FC442C58978900EA8667 /* AutocaptureOptions.swift */,
B6DF481F2B5B45BE00B3E6AA /* PrivacyInfo.xcprivacy */,
OBJ_8 /* Amplitude.swift */,
OBJ_9 /* Configuration.swift */,
Expand Down Expand Up @@ -703,7 +709,6 @@
buildActionMask = 0;
files = (
OBJ_142 /* AmplitudeTests.swift in Sources */,
BA1EC0F42A9F2FC700C2D547 /* DefaultTrackingOptionsTests.swift in Sources */,
OBJ_143 /* ConfigurationTests.swift in Sources */,
OBJ_144 /* ConsoleLoggerTests.swift in Sources */,
OBJ_145 /* BaseEventTests.swift in Sources */,
Expand All @@ -721,6 +726,7 @@
OBJ_155 /* EventPipelineTests.swift in Sources */,
3E281B8E2B96833D009D913B /* DiagnosticsTests.swift in Sources */,
B6F338A32B685793006179E2 /* NetworkConnectivityCheckerPluginTests.swift in Sources */,
6C04FC482C589C8100EA8667 /* AutocaptureOptionsTests.swift in Sources */,
OBJ_156 /* HttpClientTests.swift in Sources */,
D01043612B6C5A8500F8173C /* SandboxHelperTests.swift in Sources */,
OBJ_157 /* PersistentStorageResponseHandlerTests.swift in Sources */,
Expand Down Expand Up @@ -776,11 +782,11 @@
OBJ_116 /* Atomic.swift in Sources */,
OBJ_117 /* CodableExtension.swift in Sources */,
OBJ_118 /* EventPipeline.swift in Sources */,
6C04FC412C58974A00EA8667 /* UIKitElementInteractions.swift in Sources */,
OBJ_119 /* HttpClient.swift in Sources */,
OBJ_120 /* OutputFileStream.swift in Sources */,
OBJ_121 /* PersistentStorageResponseHandler.swift in Sources */,
OBJ_122 /* QueueTimer.swift in Sources */,
6C23EF132C38AC24000DC8C8 /* UserInteractionEvent.swift in Sources */,
OBJ_124 /* UrlExtension.swift in Sources */,
8EDECFCCF4219767F26210D6 /* Sessions.swift in Sources */,
3E281B8C2B967F19009D913B /* Diagonostics.swift in Sources */,
Expand All @@ -792,9 +798,10 @@
8EDEC3283B812D5D34DADF7B /* AnalyticsConnectorIdentityPlugin.swift in Sources */,
8EDEC4D0C0CE07BF211804CC /* DefaultTrackingOptions.swift in Sources */,
8EDEC30C0075E9D92B1B5210 /* UIKitScreenViews.swift in Sources */,
6C04FC3F2C58973C00EA8667 /* ElementInteractionEvent.swift in Sources */,
6C04FC432C58976800EA8667 /* ObjCAutocaptureOptions.swift in Sources */,
8EDEC43FB30802F70112E577 /* ScreenViewedEvent.swift in Sources */,
8EDEC51F746CC25D27E32F6A /* DeepLinkOpenedEvent.swift in Sources */,
6C23EF112C38AC19000DC8C8 /* UIKitUserInteractions.swift in Sources */,
8EDECF81C2B1B38D472FD7EF /* ObjCConfiguration.swift in Sources */,
8EDECB800546E37719391E65 /* ObjCPlan.swift in Sources */,
8EDEC02B99EE2092B567A61D /* ObjCIngestionMetadata.swift in Sources */,
Expand All @@ -809,6 +816,7 @@
8EDEC74C71FEC9056DC7358F /* ObjCLoggerProvider.swift in Sources */,
8EDECA4DAFA67CD4785D0161 /* ObjCDefaultTrackingOptions.swift in Sources */,
8EDEC43520B2DCF584F1035D /* ObjCScreenViewedEvent.swift in Sources */,
6C04FC452C58978900EA8667 /* AutocaptureOptions.swift in Sources */,
8EDECC1FC97DDF0BEFAA96E7 /* ObjCDeepLinkOpenedEvent.swift in Sources */,
B6EDB4D02B643C8400454B90 /* NetworkConnectivityCheckerPlugin.swift in Sources */,
8EDEC5F7208B1C327C8703D7 /* ObjCStorage.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,12 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
AMPConfiguration* configuration = [AMPConfiguration initWithApiKey:apiKey];
configuration.logLevel = AMPLogLevelLOG;
configuration.serverZone = AMPServerZoneUS;
configuration.defaultTracking = AMPDefaultTrackingOptions.ALL;
AMPAutocaptureOptions* autocaptureOptions = [AMPAutocaptureOptions new];
Comment thread
PouriaAmini marked this conversation as resolved.
Outdated
autocaptureOptions.sessions = YES;
autocaptureOptions.appLifecycles = YES;
autocaptureOptions.screenViews = YES;
autocaptureOptions.elementInteractions = YES;
configuration.autocapture = autocaptureOptions;
configuration.loggerProvider = ^(NSInteger logLevel, NSString* _Nonnull message) {
NSLog(@"%@", message);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,9 @@ - (void)testEventProperties {
- (Amplitude *)getAmplitude:(NSString *)instancePrefix {
NSString* instanceName = [NSString stringWithFormat:@"%@-%f", instancePrefix, [[NSDate date] timeIntervalSince1970]];
AMPConfiguration* configuration = [AMPConfiguration initWithApiKey:@"API-KEY" instanceName:instanceName];
configuration.defaultTracking = AMPDefaultTrackingOptions.NONE;
AMPAutocaptureOptions* autocaptureOptions = [AMPAutocaptureOptions new];
autocaptureOptions.sessions = NO;
configuration.autocapture = autocaptureOptions;
Amplitude *amplitude = [[TestAmplitude alloc] initWithConfiguration:configuration];
return amplitude;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public class TestAmplitude: ObjCAmplitude {
enableCoppaControl: config.enableCoppaControl,
flushEventsOnClose: config.flushEventsOnClose,
minTimeBetweenSessionsMillis: config.minTimeBetweenSessionsMillis,
defaultTracking: config.defaultTracking,
autocapture: config.autocapture,
identifyBatchIntervalMillis: config.identifyBatchIntervalMillis,
migrateLegacyData: config.migrateLegacyData,
offline: NetworkConnectivityCheckerPlugin.Disabled)
Expand Down
20 changes: 20 additions & 0 deletions Sources/Amplitude/AutocaptureOptions.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import Foundation

public class AutocaptureOptions {
public var sessions: Bool = true
public var appLifecycles: Bool
public var screenViews: Bool
public var elementInteractions: Bool
Comment thread
PouriaAmini marked this conversation as resolved.
Outdated

public init(
sessions: Bool = true,
appLifecycles: Bool = false,
screenViews: Bool = false,
elementInteractions: Bool = false
) {
self.sessions = sessions
self.appLifecycles = appLifecycles
self.screenViews = screenViews
self.elementInteractions = elementInteractions
}
}
81 changes: 78 additions & 3 deletions Sources/Amplitude/Configuration.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,85 @@ public class Configuration {
public var minTimeBetweenSessionsMillis: Int
public var identifyBatchIntervalMillis: Int
public internal(set) var migrateLegacyData: Bool
public var defaultTracking: DefaultTrackingOptions
public var autocapture: AutocaptureOptions
Comment thread
PouriaAmini marked this conversation as resolved.
Outdated
public var offline: Bool?
internal let diagonostics: Diagnostics

@available(*, deprecated, renamed: "autocapture", message: "Please use `autocapture` instead.")
public lazy var defaultTracking: DefaultTrackingOptions = {
DefaultTrackingOptions().withAutocptureOptions(autocapture)
}() {
didSet {
autocapture.sessions = defaultTracking.sessions
autocapture.appLifecycles = defaultTracking.appLifecycles
autocapture.screenViews = defaultTracking.screenViews
_ = defaultTracking.withAutocptureOptions(autocapture)
}
}

@available(*, deprecated, message: "Please use the `autocapture` parameter instead.")
public convenience init(
apiKey: String,
flushQueueSize: Int = Constants.Configuration.FLUSH_QUEUE_SIZE,
flushIntervalMillis: Int = Constants.Configuration.FLUSH_INTERVAL_MILLIS,
instanceName: String = "",
optOut: Bool = false,
storageProvider: (any Storage)? = nil,
identifyStorageProvider: (any Storage)? = nil,
logLevel: LogLevelEnum = LogLevelEnum.WARN,
loggerProvider: any Logger = ConsoleLogger(),
minIdLength: Int? = nil,
partnerId: String? = nil,
callback: EventCallback? = nil,
flushMaxRetries: Int = Constants.Configuration.FLUSH_MAX_RETRIES,
useBatch: Bool = false,
serverZone: ServerZone = ServerZone.US,
serverUrl: String? = nil,
plan: Plan? = nil,
ingestionMetadata: IngestionMetadata? = nil,
trackingOptions: TrackingOptions = TrackingOptions(),
enableCoppaControl: Bool = false,
flushEventsOnClose: Bool = true,
minTimeBetweenSessionsMillis: Int = Constants.Configuration.MIN_TIME_BETWEEN_SESSIONS_MILLIS,
// `trackingSessionEvents` has been replaced by `defaultTracking.sessions`
defaultTracking: DefaultTrackingOptions,
identifyBatchIntervalMillis: Int = Constants.Configuration.IDENTIFY_BATCH_INTERVAL_MILLIS,
migrateLegacyData: Bool = true,
offline: Bool? = false
) {
var autocapture = AutocaptureOptions(
sessions: defaultTracking.sessions,
appLifecycles: defaultTracking.appLifecycles,
screenViews: defaultTracking.screenViews)
self.init(apiKey: apiKey,
flushQueueSize: flushQueueSize,
flushIntervalMillis: flushIntervalMillis,
instanceName: instanceName,
optOut: optOut,
storageProvider: storageProvider,
identifyStorageProvider: identifyStorageProvider,
logLevel: logLevel,
loggerProvider: loggerProvider,
minIdLength: minIdLength,
partnerId: partnerId,
callback: callback,
flushMaxRetries: flushMaxRetries,
useBatch: useBatch,
serverZone: serverZone,
serverUrl: serverUrl,
plan: plan,
ingestionMetadata: ingestionMetadata,
trackingOptions: trackingOptions,
enableCoppaControl: enableCoppaControl,
flushEventsOnClose: flushEventsOnClose,
minTimeBetweenSessionsMillis: minTimeBetweenSessionsMillis,
autocapture: autocapture,
identifyBatchIntervalMillis: identifyBatchIntervalMillis,
migrateLegacyData: migrateLegacyData,
offline: offline)
self.defaultTracking = defaultTracking
}

public init(
apiKey: String,
flushQueueSize: Int = Constants.Configuration.FLUSH_QUEUE_SIZE,
Expand All @@ -60,7 +135,7 @@ public class Configuration {
flushEventsOnClose: Bool = true,
minTimeBetweenSessionsMillis: Int = Constants.Configuration.MIN_TIME_BETWEEN_SESSIONS_MILLIS,
// `trackingSessionEvents` has been replaced by `defaultTracking.sessions`
defaultTracking: DefaultTrackingOptions = DefaultTrackingOptions(),
autocapture: AutocaptureOptions = AutocaptureOptions(),
identifyBatchIntervalMillis: Int = Constants.Configuration.IDENTIFY_BATCH_INTERVAL_MILLIS,
migrateLegacyData: Bool = true,
offline: Bool? = false
Expand Down Expand Up @@ -92,7 +167,7 @@ public class Configuration {
self.enableCoppaControl = enableCoppaControl
self.flushEventsOnClose = flushEventsOnClose
self.minTimeBetweenSessionsMillis = minTimeBetweenSessionsMillis
self.defaultTracking = defaultTracking
self.autocapture = autocapture
self.identifyBatchIntervalMillis = identifyBatchIntervalMillis
self.migrateLegacyData = migrateLegacyData
// Logging is OFF by default
Expand Down
Loading