@usercentrics/react-native-sdk 2.24.4 → 2.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build-legacy.gradle +1 -1
- package/android/build.gradle.kts +7 -1
- package/android/src/androidTest/java/com/usercentrics/reactnative/mock/GetCMPDataMock.kt +16 -12
- package/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsModule.kt +20 -20
- package/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsModuleSpec.kt +10 -10
- package/android/src/main/java/com/usercentrics/reactnative/extensions/ConsentDisclosureSerializer.kt +12 -1
- package/ios/Extensions/UsercentricsCMPData+Dict.swift +4 -1
- package/ios/RNUsercentricsModule.mm +12 -12
- package/ios/RNUsercentricsModule.swift +22 -22
- package/ios/RNUsercentricsModuleSpec.h +12 -12
- package/lib/models/ConsentDisclosureObject.d.ts +7 -1
- package/lib/models/ConsentDisclosureObject.js +8 -1
- package/lib/models/ConsentDisclosureObject.js.map +1 -1
- package/package.json +12 -2
- package/src/__tests__/mocks.ts +2 -1
- package/src/models/ConsentDisclosureObject.tsx +13 -1
package/android/build.gradle.kts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
val usercentricsVersion = "2.
|
|
1
|
+
val usercentricsVersion = "2.25.0"
|
|
2
2
|
val reactNativeVersion = "+"
|
|
3
3
|
|
|
4
4
|
fun BooleanProperty(name: String): Boolean {
|
|
@@ -11,6 +11,7 @@ val isHermesEnabled = BooleanProperty("hermesEnabled")
|
|
|
11
11
|
plugins {
|
|
12
12
|
id("com.android.library")
|
|
13
13
|
id("kotlin-android")
|
|
14
|
+
id("org.jetbrains.kotlinx.kover") version "0.9.1"
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
if (isNewArchitectureEnabled) {
|
|
@@ -37,6 +38,11 @@ android {
|
|
|
37
38
|
|
|
38
39
|
}
|
|
39
40
|
|
|
41
|
+
buildTypes {
|
|
42
|
+
getByName("debug") {
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
40
46
|
compileOptions {
|
|
41
47
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
42
48
|
targetCompatibility = JavaVersion.VERSION_17
|
|
@@ -88,7 +88,8 @@ internal object GetCMPDataMock {
|
|
|
88
88
|
domain = "domain",
|
|
89
89
|
description = "description",
|
|
90
90
|
)
|
|
91
|
-
)
|
|
91
|
+
),
|
|
92
|
+
sdks = listOf()
|
|
92
93
|
),
|
|
93
94
|
isHidden = false,
|
|
94
95
|
)
|
|
@@ -628,17 +629,20 @@ internal object GetCMPDataMock {
|
|
|
628
629
|
"isDeactivated" to false,
|
|
629
630
|
"disableLegalBasis" to false,
|
|
630
631
|
"technologyUsed" to listOf("Cookies", "Pixel Tags"),
|
|
631
|
-
"deviceStorage" to
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
632
|
+
"deviceStorage" to mapOf(
|
|
633
|
+
"disclosures" to listOf(
|
|
634
|
+
mapOf(
|
|
635
|
+
"identifier" to "identifier",
|
|
636
|
+
"type" to 2,
|
|
637
|
+
"name" to "name",
|
|
638
|
+
"maxAgeSeconds" to 123123L,
|
|
639
|
+
"cookieRefresh" to true,
|
|
640
|
+
"purposes" to listOf(1, 2, 3),
|
|
641
|
+
"domain" to "domain",
|
|
642
|
+
"description" to "description",
|
|
643
|
+
)
|
|
644
|
+
),
|
|
645
|
+
"sdks" to emptyList<Map<String, Any>>()
|
|
642
646
|
),
|
|
643
647
|
"isHidden" to false,
|
|
644
648
|
)
|
|
@@ -95,8 +95,8 @@ internal class RNUsercentricsModule(
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
@ReactMethod
|
|
98
|
-
override fun setCMPId(id:
|
|
99
|
-
usercentricsProxy.instance.setCMPId(id)
|
|
98
|
+
override fun setCMPId(id: Double) {
|
|
99
|
+
usercentricsProxy.instance.setCMPId(id.toInt())
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
@ReactMethod
|
|
@@ -131,37 +131,37 @@ internal class RNUsercentricsModule(
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
@ReactMethod
|
|
134
|
-
override fun acceptAllForTCF(fromLayer:
|
|
134
|
+
override fun acceptAllForTCF(fromLayer: Double, consentType: Double, promise: Promise) {
|
|
135
135
|
promise.resolve(
|
|
136
136
|
usercentricsProxy.instance.acceptAllForTCF(
|
|
137
|
-
TCFDecisionUILayer.values()[fromLayer], UsercentricsConsentType.values()[consentType]
|
|
137
|
+
TCFDecisionUILayer.values()[fromLayer.toInt()], UsercentricsConsentType.values()[consentType.toInt()]
|
|
138
138
|
).toWritableArray()
|
|
139
139
|
)
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
@ReactMethod
|
|
143
|
-
override fun acceptAll(consentType:
|
|
143
|
+
override fun acceptAll(consentType: Double, promise: Promise) {
|
|
144
144
|
promise.resolve(
|
|
145
145
|
usercentricsProxy.instance.acceptAll(
|
|
146
|
-
UsercentricsConsentType.values()[consentType]
|
|
146
|
+
UsercentricsConsentType.values()[consentType.toInt()]
|
|
147
147
|
).toWritableArray()
|
|
148
148
|
)
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
@ReactMethod
|
|
152
|
-
override fun denyAllForTCF(fromLayer:
|
|
152
|
+
override fun denyAllForTCF(fromLayer: Double, consentType: Double, unsavedPurposeLIDecisions: ReadableArray, promise: Promise) {
|
|
153
153
|
promise.resolve(
|
|
154
154
|
usercentricsProxy.instance.denyAllForTCF(
|
|
155
|
-
TCFDecisionUILayer.values()[fromLayer], UsercentricsConsentType.values()[consentType], unsavedPurposeLIDecisions.deserializePurposeLIDecisionsMap()
|
|
155
|
+
TCFDecisionUILayer.values()[fromLayer.toInt()], UsercentricsConsentType.values()[consentType.toInt()], unsavedPurposeLIDecisions.deserializePurposeLIDecisionsMap()
|
|
156
156
|
).toWritableArray()
|
|
157
157
|
)
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
@ReactMethod
|
|
161
|
-
override fun denyAll(consentType:
|
|
161
|
+
override fun denyAll(consentType: Double, promise: Promise) {
|
|
162
162
|
promise.resolve(
|
|
163
163
|
usercentricsProxy.instance.denyAll(
|
|
164
|
-
UsercentricsConsentType.values()[consentType]
|
|
164
|
+
UsercentricsConsentType.values()[consentType.toInt()]
|
|
165
165
|
).toWritableArray()
|
|
166
166
|
)
|
|
167
167
|
}
|
|
@@ -169,42 +169,42 @@ internal class RNUsercentricsModule(
|
|
|
169
169
|
@ReactMethod
|
|
170
170
|
override fun saveDecisionsForTCF(
|
|
171
171
|
tcfDecisions: ReadableMap,
|
|
172
|
-
fromLayer:
|
|
172
|
+
fromLayer: Double,
|
|
173
173
|
saveDecisions: ReadableArray,
|
|
174
|
-
consentType:
|
|
174
|
+
consentType: Double,
|
|
175
175
|
promise: Promise
|
|
176
176
|
) {
|
|
177
177
|
promise.resolve(
|
|
178
178
|
usercentricsProxy.instance.saveDecisionsForTCF(
|
|
179
179
|
tcfDecisions.deserializeTCFUserDecisions(),
|
|
180
|
-
TCFDecisionUILayer.values()[fromLayer],
|
|
180
|
+
TCFDecisionUILayer.values()[fromLayer.toInt()],
|
|
181
181
|
saveDecisions.deserializeUserDecision(),
|
|
182
|
-
UsercentricsConsentType.values()[consentType]
|
|
182
|
+
UsercentricsConsentType.values()[consentType.toInt()]
|
|
183
183
|
).toWritableArray()
|
|
184
184
|
)
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
@ReactMethod
|
|
188
|
-
override fun saveDecisions(decisions: ReadableArray, consentType:
|
|
188
|
+
override fun saveDecisions(decisions: ReadableArray, consentType: Double, promise: Promise) {
|
|
189
189
|
promise.resolve(
|
|
190
190
|
usercentricsProxy.instance.saveDecisions(
|
|
191
|
-
decisions.deserializeUserDecision(), UsercentricsConsentType.values()[consentType]
|
|
191
|
+
decisions.deserializeUserDecision(), UsercentricsConsentType.values()[consentType.toInt()]
|
|
192
192
|
).toWritableArray()
|
|
193
193
|
)
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
@ReactMethod
|
|
197
|
-
override fun saveOptOutForCCPA(isOptedOut: Boolean, consentType:
|
|
197
|
+
override fun saveOptOutForCCPA(isOptedOut: Boolean, consentType: Double, promise: Promise) {
|
|
198
198
|
promise.resolve(
|
|
199
199
|
usercentricsProxy.instance.saveOptOutForCCPA(
|
|
200
|
-
isOptedOut, UsercentricsConsentType.values()[consentType]
|
|
200
|
+
isOptedOut, UsercentricsConsentType.values()[consentType.toInt()]
|
|
201
201
|
).toWritableArray()
|
|
202
202
|
)
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
@ReactMethod
|
|
206
|
-
override fun track(event:
|
|
207
|
-
usercentricsProxy.instance.track(UsercentricsAnalyticsEventType.values()[event])
|
|
206
|
+
override fun track(event: Double) {
|
|
207
|
+
usercentricsProxy.instance.track(UsercentricsAnalyticsEventType.values()[event.toInt()])
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
@ReactMethod
|
|
@@ -55,7 +55,7 @@ abstract class RNUsercentricsModuleSpec internal constructor(context: ReactAppli
|
|
|
55
55
|
abstract fun getABTestingVariant(promise: Promise)
|
|
56
56
|
|
|
57
57
|
@ReactMethod
|
|
58
|
-
abstract fun setCMPId(id:
|
|
58
|
+
abstract fun setCMPId(id: Double)
|
|
59
59
|
|
|
60
60
|
@ReactMethod
|
|
61
61
|
abstract fun setABTestingVariant(variant: String)
|
|
@@ -64,34 +64,34 @@ abstract class RNUsercentricsModuleSpec internal constructor(context: ReactAppli
|
|
|
64
64
|
abstract fun changeLanguage(language: String, promise: Promise)
|
|
65
65
|
|
|
66
66
|
@ReactMethod
|
|
67
|
-
abstract fun acceptAll(consentType:
|
|
67
|
+
abstract fun acceptAll(consentType: Double, promise: Promise)
|
|
68
68
|
|
|
69
69
|
@ReactMethod
|
|
70
|
-
abstract fun acceptAllForTCF(fromLayer:
|
|
70
|
+
abstract fun acceptAllForTCF(fromLayer: Double, consentType: Double, promise: Promise)
|
|
71
71
|
|
|
72
72
|
@ReactMethod
|
|
73
|
-
abstract fun denyAll(consentType:
|
|
73
|
+
abstract fun denyAll(consentType: Double, promise: Promise)
|
|
74
74
|
|
|
75
75
|
@ReactMethod
|
|
76
|
-
abstract fun denyAllForTCF(fromLayer:
|
|
76
|
+
abstract fun denyAllForTCF(fromLayer: Double, consentType: Double, unsavedPurposeLIDecisions: ReadableArray, promise: Promise)
|
|
77
77
|
|
|
78
78
|
@ReactMethod
|
|
79
|
-
abstract fun saveDecisions(decisions: ReadableArray, consentType:
|
|
79
|
+
abstract fun saveDecisions(decisions: ReadableArray, consentType: Double, promise: Promise)
|
|
80
80
|
|
|
81
81
|
@ReactMethod
|
|
82
82
|
abstract fun saveDecisionsForTCF(
|
|
83
83
|
tcfDecisions: ReadableMap,
|
|
84
|
-
fromLayer:
|
|
84
|
+
fromLayer: Double,
|
|
85
85
|
saveDecisions: ReadableArray,
|
|
86
|
-
consentType:
|
|
86
|
+
consentType: Double,
|
|
87
87
|
promise: Promise
|
|
88
88
|
)
|
|
89
89
|
|
|
90
90
|
@ReactMethod
|
|
91
|
-
abstract fun saveOptOutForCCPA(isOptedOut: Boolean, consentType:
|
|
91
|
+
abstract fun saveOptOutForCCPA(isOptedOut: Boolean, consentType: Double, promise: Promise)
|
|
92
92
|
|
|
93
93
|
@ReactMethod
|
|
94
|
-
abstract fun track(event:
|
|
94
|
+
abstract fun track(event: Double)
|
|
95
95
|
|
|
96
96
|
companion object {
|
|
97
97
|
const val NAME = "RNUsercentricsModule"
|
package/android/src/main/java/com/usercentrics/reactnative/extensions/ConsentDisclosureSerializer.kt
CHANGED
|
@@ -2,12 +2,23 @@ package com.usercentrics.reactnative.extensions
|
|
|
2
2
|
|
|
3
3
|
import com.usercentrics.sdk.v2.settings.data.ConsentDisclosure
|
|
4
4
|
import com.usercentrics.sdk.v2.settings.data.ConsentDisclosureObject
|
|
5
|
+
import com.usercentrics.sdk.v2.settings.data.ConsentDisclosureSDK
|
|
5
6
|
|
|
6
7
|
internal fun ConsentDisclosureObject?.serialize(): Any? {
|
|
7
8
|
if (this == null) {
|
|
8
9
|
return null
|
|
9
10
|
}
|
|
10
|
-
return
|
|
11
|
+
return mapOf(
|
|
12
|
+
"disclosures" to disclosures.map { it.serialize() },
|
|
13
|
+
"sdks" to sdks.map { it.serialize() }
|
|
14
|
+
)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
private fun ConsentDisclosureSDK.serialize(): Map<String, Any> {
|
|
18
|
+
return mapOf(
|
|
19
|
+
"name" to name,
|
|
20
|
+
"use" to use
|
|
21
|
+
)
|
|
11
22
|
}
|
|
12
23
|
|
|
13
24
|
internal fun ConsentDisclosure.serialize(): Any {
|
|
@@ -364,7 +364,10 @@ extension UsercentricsService {
|
|
|
364
364
|
|
|
365
365
|
extension ConsentDisclosureObject {
|
|
366
366
|
func toDictionary() -> Any {
|
|
367
|
-
return
|
|
367
|
+
return [
|
|
368
|
+
"disclosures": self.disclosures.map { $0.toDictionary() },
|
|
369
|
+
"sdks": self.sdks.map { ["name": $0.name, "use": $0.use] }
|
|
370
|
+
]
|
|
368
371
|
}
|
|
369
372
|
}
|
|
370
373
|
|
|
@@ -60,47 +60,47 @@ RCT_EXTERN_METHOD(changeLanguage:(NSString *)language
|
|
|
60
60
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
61
61
|
reject:(RCTPromiseRejectBlock)reject)
|
|
62
62
|
|
|
63
|
-
RCT_EXTERN_METHOD(acceptAllForTCF:(
|
|
64
|
-
consentType:(
|
|
63
|
+
RCT_EXTERN_METHOD(acceptAllForTCF:(double)fromLayer
|
|
64
|
+
consentType:(double)consentType
|
|
65
65
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
66
66
|
reject:(RCTPromiseRejectBlock)reject)
|
|
67
67
|
|
|
68
|
-
RCT_EXTERN_METHOD(acceptAll:(
|
|
68
|
+
RCT_EXTERN_METHOD(acceptAll:(double)consentType
|
|
69
69
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
70
70
|
reject:(RCTPromiseRejectBlock)reject)
|
|
71
71
|
|
|
72
|
-
RCT_EXTERN_METHOD(denyAllForTCF:(
|
|
73
|
-
consentType:(
|
|
72
|
+
RCT_EXTERN_METHOD(denyAllForTCF:(double)fromLayer
|
|
73
|
+
consentType:(double)consentType
|
|
74
74
|
unsavedPurposeLIDecisions:(NSArray)unsavedPurposeLIDecisions
|
|
75
75
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
76
76
|
reject:(RCTPromiseRejectBlock)reject)
|
|
77
77
|
|
|
78
|
-
RCT_EXTERN_METHOD(denyAll:(
|
|
78
|
+
RCT_EXTERN_METHOD(denyAll:(double)consentType
|
|
79
79
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
80
80
|
reject:(RCTPromiseRejectBlock)reject)
|
|
81
81
|
|
|
82
82
|
RCT_EXTERN_METHOD(saveDecisionsForTCF:(NSDictionary *)tcfDecisions
|
|
83
|
-
fromLayer:(
|
|
83
|
+
fromLayer:(double)fromLayer
|
|
84
84
|
serviceDecisions:(NSArray)serviceDecisions
|
|
85
|
-
consentType:(
|
|
85
|
+
consentType:(double)consentType
|
|
86
86
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
87
87
|
reject:(RCTPromiseRejectBlock)reject)
|
|
88
88
|
|
|
89
89
|
RCT_EXTERN_METHOD(saveDecisions:(NSArray)serviceDecisions
|
|
90
|
-
consentType:(
|
|
90
|
+
consentType:(double)consentType
|
|
91
91
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
92
92
|
reject:(RCTPromiseRejectBlock)reject)
|
|
93
93
|
|
|
94
94
|
RCT_EXTERN_METHOD(saveOptOutForCCPA:(BOOL *)isOptedOut
|
|
95
|
-
consentType:(
|
|
95
|
+
consentType:(double)consentType
|
|
96
96
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
97
97
|
reject:(RCTPromiseRejectBlock)reject)
|
|
98
98
|
|
|
99
|
-
RCT_EXTERN_METHOD(setCMPId:(
|
|
99
|
+
RCT_EXTERN_METHOD(setCMPId:(double)id)
|
|
100
100
|
|
|
101
101
|
RCT_EXTERN_METHOD(setABTestingVariant:(NSString *)variant)
|
|
102
102
|
|
|
103
|
-
RCT_EXTERN_METHOD(track:(
|
|
103
|
+
RCT_EXTERN_METHOD(track:(double)event)
|
|
104
104
|
|
|
105
105
|
RCT_EXTERN_METHOD(clearUserSession:(RCTPromiseResolveBlock)resolve
|
|
106
106
|
reject:(RCTPromiseRejectBlock)reject)
|
|
@@ -81,7 +81,7 @@ class RNUsercentricsModule: NSObject {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
@objc func setCMPId(_ id:
|
|
84
|
+
@objc func setCMPId(_ id: Double) -> Void {
|
|
85
85
|
usercentricsManager.setCMPId(id: Int32(id))
|
|
86
86
|
}
|
|
87
87
|
|
|
@@ -139,24 +139,24 @@ class RNUsercentricsModule: NSObject {
|
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
@objc func acceptAllForTCF(_ fromLayer:
|
|
143
|
-
consentType:
|
|
142
|
+
@objc func acceptAllForTCF(_ fromLayer: Double,
|
|
143
|
+
consentType: Double,
|
|
144
144
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
145
145
|
reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
146
|
-
let services = usercentricsManager.acceptAllForTCF(fromLayer: TCFDecisionUILayer.initialize(from: fromLayer),
|
|
147
|
-
consentType: UsercentricsConsentType.initialize(from: consentType))
|
|
146
|
+
let services = usercentricsManager.acceptAllForTCF(fromLayer: TCFDecisionUILayer.initialize(from: Int(fromLayer)),
|
|
147
|
+
consentType: UsercentricsConsentType.initialize(from: Int(consentType)))
|
|
148
148
|
resolve(services.toListOfDictionary())
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
@objc func acceptAll(_ consentType:
|
|
151
|
+
@objc func acceptAll(_ consentType: Double,
|
|
152
152
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
153
153
|
reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
154
|
-
let services = usercentricsManager.acceptAll(consentType: UsercentricsConsentType.initialize(from: consentType))
|
|
154
|
+
let services = usercentricsManager.acceptAll(consentType: UsercentricsConsentType.initialize(from: Int(consentType)))
|
|
155
155
|
resolve(services.toListOfDictionary())
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
@objc func denyAllForTCF(_ fromLayer:
|
|
159
|
-
consentType:
|
|
158
|
+
@objc func denyAllForTCF(_ fromLayer: Double,
|
|
159
|
+
consentType: Double,
|
|
160
160
|
unsavedPurposeLIDecisions: [NSDictionary],
|
|
161
161
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
162
162
|
reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
@@ -170,51 +170,51 @@ class RNUsercentricsModule: NSObject {
|
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
-
let services = usercentricsManager.denyAllForTCF(fromLayer: .initialize(from: fromLayer), consentType: .initialize(from: consentType), unsavedPurposeLIDecisions: decisions)
|
|
173
|
+
let services = usercentricsManager.denyAllForTCF(fromLayer: .initialize(from: Int(fromLayer)), consentType: .initialize(from: Int(consentType)), unsavedPurposeLIDecisions: decisions)
|
|
174
174
|
resolve(services.toListOfDictionary())
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
-
@objc func denyAll(_ consentType:
|
|
177
|
+
@objc func denyAll(_ consentType: Double,
|
|
178
178
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
179
179
|
reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
180
|
-
let services = usercentricsManager.denyAll(consentType: .initialize(from: consentType))
|
|
180
|
+
let services = usercentricsManager.denyAll(consentType: .initialize(from: Int(consentType)))
|
|
181
181
|
resolve(services.toListOfDictionary())
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
@objc func saveDecisionsForTCF(_ tcfDecisions: NSDictionary,
|
|
185
|
-
fromLayer:
|
|
185
|
+
fromLayer: Double,
|
|
186
186
|
serviceDecisions: [NSDictionary],
|
|
187
|
-
consentType:
|
|
187
|
+
consentType: Double,
|
|
188
188
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
189
189
|
reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
190
190
|
|
|
191
191
|
let services = usercentricsManager.saveDecisionsForTCF(
|
|
192
192
|
tcfDecisions: TCFUserDecisions(from: tcfDecisions),
|
|
193
|
-
fromLayer: .initialize(from: fromLayer),
|
|
193
|
+
fromLayer: .initialize(from: Int(fromLayer)),
|
|
194
194
|
serviceDecisions: serviceDecisions.compactMap { UserDecision(from: $0) },
|
|
195
|
-
consentType: .initialize(from: consentType))
|
|
195
|
+
consentType: .initialize(from: Int(consentType)))
|
|
196
196
|
resolve(services.toListOfDictionary())
|
|
197
197
|
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
@objc func saveDecisions(_ decisions: [NSDictionary],
|
|
201
|
-
consentType:
|
|
201
|
+
consentType: Double,
|
|
202
202
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
203
203
|
reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
204
|
-
let services = usercentricsManager.saveDecisions(decisions: decisions.compactMap { UserDecision.init(from: $0) }, consentType: .initialize(from: consentType))
|
|
204
|
+
let services = usercentricsManager.saveDecisions(decisions: decisions.compactMap { UserDecision.init(from: $0) }, consentType: .initialize(from: Int(consentType)))
|
|
205
205
|
resolve(services.toListOfDictionary())
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
@objc func saveOptOutForCCPA(_ isOptedOut: Bool,
|
|
209
|
-
consentType:
|
|
209
|
+
consentType: Double,
|
|
210
210
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
211
211
|
reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
212
|
-
let services = usercentricsManager.saveOptOutForCCPA(isOptedOut: isOptedOut, consentType: .initialize(from: consentType))
|
|
212
|
+
let services = usercentricsManager.saveOptOutForCCPA(isOptedOut: isOptedOut, consentType: .initialize(from: Int(consentType)))
|
|
213
213
|
resolve(services.toListOfDictionary())
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
-
@objc func track(_ event:
|
|
217
|
-
guard let usercentricsAnalyticsEventType = UsercentricsAnalyticsEventType.initialize(from: event) else { return }
|
|
216
|
+
@objc func track(_ event: Double) -> Void {
|
|
217
|
+
guard let usercentricsAnalyticsEventType = UsercentricsAnalyticsEventType.initialize(from: Int(event)) else { return }
|
|
218
218
|
usercentricsManager.track(event: usercentricsAnalyticsEventType)
|
|
219
219
|
}
|
|
220
220
|
|
|
@@ -52,51 +52,51 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
52
52
|
reject:(RCTPromiseRejectBlock)reject;
|
|
53
53
|
|
|
54
54
|
// Configuration Setters
|
|
55
|
-
- (void)setCMPId:(
|
|
55
|
+
- (void)setCMPId:(double)cmpId;
|
|
56
56
|
- (void)setABTestingVariant:(NSString *)variant;
|
|
57
57
|
- (void)changeLanguage:(NSString *)language
|
|
58
58
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
59
59
|
reject:(RCTPromiseRejectBlock)reject;
|
|
60
60
|
|
|
61
61
|
// Consent Actions
|
|
62
|
-
- (void)acceptAll:(
|
|
62
|
+
- (void)acceptAll:(double)consentType
|
|
63
63
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
64
64
|
reject:(RCTPromiseRejectBlock)reject;
|
|
65
65
|
|
|
66
|
-
- (void)acceptAllForTCF:(
|
|
67
|
-
consentType:(
|
|
66
|
+
- (void)acceptAllForTCF:(double)fromLayer
|
|
67
|
+
consentType:(double)consentType
|
|
68
68
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
69
69
|
reject:(RCTPromiseRejectBlock)reject;
|
|
70
70
|
|
|
71
|
-
- (void)denyAll:(
|
|
71
|
+
- (void)denyAll:(double)consentType
|
|
72
72
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
73
73
|
reject:(RCTPromiseRejectBlock)reject;
|
|
74
74
|
|
|
75
|
-
- (void)denyAllForTCF:(
|
|
76
|
-
consentType:(
|
|
75
|
+
- (void)denyAllForTCF:(double)fromLayer
|
|
76
|
+
consentType:(double)consentType
|
|
77
77
|
unsavedPurposeLIDecisions:(NSArray<NSDictionary *> *)unsavedPurposeLIDecisions
|
|
78
78
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
79
79
|
reject:(RCTPromiseRejectBlock)reject;
|
|
80
80
|
|
|
81
81
|
- (void)saveDecisions:(NSArray<NSDictionary *> *)decisions
|
|
82
|
-
consentType:(
|
|
82
|
+
consentType:(double)consentType
|
|
83
83
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
84
84
|
reject:(RCTPromiseRejectBlock)reject;
|
|
85
85
|
|
|
86
86
|
- (void)saveDecisionsForTCF:(NSDictionary *)tcfDecisions
|
|
87
|
-
fromLayer:(
|
|
87
|
+
fromLayer:(double)fromLayer
|
|
88
88
|
saveDecisions:(NSArray<NSDictionary *> *)saveDecisions
|
|
89
|
-
consentType:(
|
|
89
|
+
consentType:(double)consentType
|
|
90
90
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
91
91
|
reject:(RCTPromiseRejectBlock)reject;
|
|
92
92
|
|
|
93
93
|
- (void)saveOptOutForCCPA:(BOOL)isOptedOut
|
|
94
|
-
consentType:(
|
|
94
|
+
consentType:(double)consentType
|
|
95
95
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
96
96
|
reject:(RCTPromiseRejectBlock)reject;
|
|
97
97
|
|
|
98
98
|
// Analytics
|
|
99
|
-
- (void)track:(
|
|
99
|
+
- (void)track:(double)event;
|
|
100
100
|
|
|
101
101
|
@end
|
|
102
102
|
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
export declare class ConsentDisclosureSDK {
|
|
2
|
+
name: string;
|
|
3
|
+
use: string;
|
|
4
|
+
constructor(name: string, use: string);
|
|
5
|
+
}
|
|
1
6
|
export declare class ConsentDisclosureObject {
|
|
2
7
|
disclosures: [ConsentDisclosure];
|
|
3
|
-
|
|
8
|
+
sdks: ConsentDisclosureSDK[];
|
|
9
|
+
constructor(disclosures: [ConsentDisclosure], sdks?: ConsentDisclosureSDK[]);
|
|
4
10
|
}
|
|
5
11
|
export declare class ConsentDisclosure {
|
|
6
12
|
identifier?: string;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
export class ConsentDisclosureSDK {
|
|
2
|
+
constructor(name, use) {
|
|
3
|
+
this.name = name;
|
|
4
|
+
this.use = use;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
1
7
|
export class ConsentDisclosureObject {
|
|
2
|
-
constructor(disclosures) {
|
|
8
|
+
constructor(disclosures, sdks) {
|
|
3
9
|
this.disclosures = disclosures;
|
|
10
|
+
this.sdks = sdks !== null && sdks !== void 0 ? sdks : [];
|
|
4
11
|
}
|
|
5
12
|
}
|
|
6
13
|
export class ConsentDisclosure {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsentDisclosureObject.js","sourceRoot":"","sources":["../../src/models/ConsentDisclosureObject.tsx"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAuB;
|
|
1
|
+
{"version":3,"file":"ConsentDisclosureObject.js","sourceRoot":"","sources":["../../src/models/ConsentDisclosureObject.tsx"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAoB;IAI7B,YAAY,IAAY,EAAE,GAAW;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAClB,CAAC;CACJ;AAED,MAAM,OAAO,uBAAuB;IAKhC,YAAY,WAAgC,EAAE,IAA6B;QACvE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAA;IAC1B,CAAC;CACJ;AAED,MAAM,OAAO,iBAAiB;IAW1B,YACI,aAAsB,EACtB,QAAkB,EAClB,UAAmB,EACnB,IAA4B,EAC5B,IAAa,EACb,aAAsB,EACtB,MAAe,EACf,WAAoB;QAEpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAClC,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAE7B,qEAAU,CAAA;IACV,+DAAO,CAAA;IACP,+DAAO,CAAA;AACX,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usercentrics/react-native-sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.25.0",
|
|
4
4
|
"description": "Usercentrics SDK",
|
|
5
5
|
"homepage": "https://usercentrics.com",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
8
8
|
"author": "Usercentrics <developer@usercentrics.com>",
|
|
9
9
|
"iosPackageName": "react-native-usercentrics",
|
|
10
|
-
"iosPackageVersion": "2.
|
|
10
|
+
"iosPackageVersion": "2.25.0",
|
|
11
11
|
"license": "SEE LICENSE IN LICENSE",
|
|
12
12
|
"files": [
|
|
13
13
|
"android",
|
|
@@ -78,6 +78,16 @@
|
|
|
78
78
|
"jsx",
|
|
79
79
|
"json",
|
|
80
80
|
"node"
|
|
81
|
+
],
|
|
82
|
+
"collectCoverage": true,
|
|
83
|
+
"collectCoverageFrom": [
|
|
84
|
+
"src/**/*.{ts,tsx}",
|
|
85
|
+
"!src/**/*.d.ts"
|
|
86
|
+
],
|
|
87
|
+
"coverageDirectory": "coverage",
|
|
88
|
+
"coverageReporters": [
|
|
89
|
+
"text",
|
|
90
|
+
"lcov"
|
|
81
91
|
]
|
|
82
92
|
},
|
|
83
93
|
"directories": {
|
package/src/__tests__/mocks.ts
CHANGED
|
@@ -1,9 +1,21 @@
|
|
|
1
|
+
export class ConsentDisclosureSDK {
|
|
2
|
+
name: string
|
|
3
|
+
use: string
|
|
4
|
+
|
|
5
|
+
constructor(name: string, use: string) {
|
|
6
|
+
this.name = name
|
|
7
|
+
this.use = use
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
1
11
|
export class ConsentDisclosureObject {
|
|
2
12
|
|
|
3
13
|
disclosures: [ConsentDisclosure]
|
|
14
|
+
sdks: ConsentDisclosureSDK[]
|
|
4
15
|
|
|
5
|
-
constructor(disclosures: [ConsentDisclosure]) {
|
|
16
|
+
constructor(disclosures: [ConsentDisclosure], sdks?: ConsentDisclosureSDK[]) {
|
|
6
17
|
this.disclosures = disclosures
|
|
18
|
+
this.sdks = sdks ?? []
|
|
7
19
|
}
|
|
8
20
|
}
|
|
9
21
|
|