forked from singular-labs/react-native-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSingularConfig.js
More file actions
102 lines (84 loc) · 2.69 KB
/
Copy pathSingularConfig.js
File metadata and controls
102 lines (84 loc) · 2.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
export class SingularConfig {
apikey;
secret;
sessionTimeout;
customUserId;
singularLinkHandler;
shortLinkResolveTimeout;
// SKAN
skAdNetworkEnabled;
manualSkanConversionManagement;
conversionValueUpdatedHandler;
waitForTrackingAuthorizationWithTimeoutInterval;
// Limit Data Sharing
limitDataSharing;
// Global Properties
globalProperties;
collectOAID
enableLogging;
constructor(apikey, secret) {
this.apikey = apikey;
this.secret = secret;
this.sessionTimeout = -1; // default -1, uses default timeout (60s)
this.skAdNetworkEnabled = false;
this.manualSkanConversionManagement = false;
this.waitForTrackingAuthorizationWithTimeoutInterval = 0;
this.limitDataSharing = null;
this.shortLinkResolveTimeout = 10; // default timeout 10s
this.globalProperties = {}
this.collectOAID = false;
this.enableLogging = false;
}
withSessionTimeoutInSec(sessionTimeout) {
this.sessionTimeout = sessionTimeout;
return this;
}
withCustomUserId(customUserId) {
this.customUserId = customUserId;
return this;
}
withSingularLink(singularLinkHandler) {
this.singularLinkHandler = singularLinkHandler;
return this;
}
withSkAdNetworkEnabled(skAdNetworkEnabled) {
this.skAdNetworkEnabled = skAdNetworkEnabled;
return this;
}
withManualSkanConversionManagement() {
this.manualSkanConversionManagement = true;
return this;
}
withConversionValueUpdatedHandler(conversionValueUpdatedHandler) {
this.conversionValueUpdatedHandler = conversionValueUpdatedHandler;
return this;
}
withWaitForTrackingAuthorizationWithTimeoutInterval(waitForTrackingAuthorizationWithTimeoutInterval) {
this.waitForTrackingAuthorizationWithTimeoutInterval = waitForTrackingAuthorizationWithTimeoutInterval;
return this;
}
withLimitDataSharing(shouldLimitDataSharing) {
this.limitDataSharing = shouldLimitDataSharing;
return this;
}
withShortLinkResolveTimeout(shortLinkResolveTimeout) {
this.shortLinkResolveTimeout = shortLinkResolveTimeout;
return this;
}
withGlobalProperty(key, value,overrideExisting) {
this.globalProperties[key] = {"Key":key, "Value":value,"OverrideExisting":overrideExisting};
return this;
}
withOAIDCollection() {
this.collectOAID = true;
return this;
}
withLoggingEnabled() {
this.enableLogging = true;
return this;
}
withLogLevel(level) {
this.logLevel = level;
return this;
}
}