cm-sdk-react-native-v3 3.5.3 → 3.6.1
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/README.md +13 -1
- package/android/build.gradle +5 -5
- package/android/gradle.properties +3 -3
- package/android/src/main/java/com/cmsdkreactnativev3/CmSdkReactNativeV3Module.kt +43 -139
- package/android/src/main/java/com/cmsdkreactnativev3/CmSdkReactNativeV3Package.kt +24 -4
- package/ios/CmSdkReactNativeV3-Bridging-Header.h +4 -0
- package/ios/CmSdkReactNativeV3.mm +42 -76
- package/ios/CmSdkReactNativeV3.swift +37 -120
- package/lib/commonjs/NativeCmSdkReactNativeV3.js +11 -0
- package/lib/commonjs/NativeCmSdkReactNativeV3.js.map +1 -0
- package/lib/commonjs/index.js +108 -36
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/NativeCmSdkReactNativeV3.js +10 -0
- package/lib/module/NativeCmSdkReactNativeV3.js.map +1 -0
- package/lib/module/index.js +86 -34
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/NativeCmSdkReactNativeV3.d.ts +68 -0
- package/lib/typescript/commonjs/src/NativeCmSdkReactNativeV3.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +25 -32
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/NativeCmSdkReactNativeV3.d.ts +68 -0
- package/lib/typescript/module/src/NativeCmSdkReactNativeV3.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +25 -32
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +8 -2
- package/react-native-cm-sdk-react-native-v3.podspec +1 -1
- package/src/NativeCmSdkReactNativeV3.ts +92 -0
- package/src/index.tsx +125 -39
|
@@ -48,7 +48,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
override func supportedEvents() -> [String]! {
|
|
51
|
-
return ["didReceiveConsent", "didShowConsentLayer", "didCloseConsentLayer", "didReceiveError", "onClickLink"]
|
|
51
|
+
return ["didReceiveConsent", "didShowConsentLayer", "didCloseConsentLayer", "didReceiveError", "onClickLink", "didChangeATTStatus"]
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
override func startObserving() {
|
|
@@ -91,6 +91,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
91
91
|
@objc public func didCloseConsentLayer() {
|
|
92
92
|
if isConsentLayerShown {
|
|
93
93
|
isConsentLayerShown = false
|
|
94
|
+
shouldHandleLinkClicks = false
|
|
94
95
|
sendEventIfListening(name: "didCloseConsentLayer", body: nil)
|
|
95
96
|
} else {
|
|
96
97
|
print("CmSdkReactNativeV3: Ignoring didCloseConsentLayer - consent layer was not shown")
|
|
@@ -103,7 +104,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
103
104
|
|
|
104
105
|
// MARK: - Configuration methods
|
|
105
106
|
|
|
106
|
-
@objc(setWebViewConfig:
|
|
107
|
+
@objc(setWebViewConfig:resolve:reject:)
|
|
107
108
|
func setWebViewConfig(_ config: [String: Any], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
108
109
|
let uiConfig = ConsentLayerUIConfig(
|
|
109
110
|
position: .fullScreen,
|
|
@@ -118,7 +119,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
118
119
|
}
|
|
119
120
|
}
|
|
120
121
|
|
|
121
|
-
@objc(setUrlConfig:
|
|
122
|
+
@objc(setUrlConfig:resolve:reject:)
|
|
122
123
|
func setUrlConfig(_ config: [String: Any], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
123
124
|
runOnMainThread { [self] in
|
|
124
125
|
do {
|
|
@@ -142,7 +143,13 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
142
143
|
|
|
143
144
|
// MARK: - New methods
|
|
144
145
|
|
|
145
|
-
@objc(
|
|
146
|
+
@objc(setATTStatus:resolve:reject:)
|
|
147
|
+
func setATTStatus(_ status: NSNumber, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
148
|
+
cmpManager.setATTStatus(status.intValue)
|
|
149
|
+
resolve(nil)
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
@objc(getUserStatus:reject:)
|
|
146
153
|
func getUserStatus(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
147
154
|
do {
|
|
148
155
|
let status = cmpManager.getUserStatus()
|
|
@@ -160,25 +167,25 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
160
167
|
}
|
|
161
168
|
}
|
|
162
169
|
|
|
163
|
-
@objc(getStatusForPurpose:
|
|
170
|
+
@objc(getStatusForPurpose:resolve:reject:)
|
|
164
171
|
func getStatusForPurpose(_ purposeId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
165
172
|
let status = cmpManager.getStatusForPurpose(id: purposeId)
|
|
166
173
|
resolve(status.rawValue)
|
|
167
174
|
}
|
|
168
175
|
|
|
169
|
-
@objc(getStatusForVendor:
|
|
176
|
+
@objc(getStatusForVendor:resolve:reject:)
|
|
170
177
|
func getStatusForVendor(_ vendorId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
171
178
|
let status = cmpManager.getStatusForVendor(id: vendorId)
|
|
172
179
|
resolve(status.rawValue)
|
|
173
180
|
}
|
|
174
181
|
|
|
175
|
-
@objc(getGoogleConsentModeStatus:
|
|
182
|
+
@objc(getGoogleConsentModeStatus:reject:)
|
|
176
183
|
func getGoogleConsentModeStatus(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
177
184
|
let status = cmpManager.getGoogleConsentModeStatus()
|
|
178
185
|
resolve(status)
|
|
179
186
|
}
|
|
180
187
|
|
|
181
|
-
@objc(checkAndOpen:
|
|
188
|
+
@objc(checkAndOpen:resolve:reject:)
|
|
182
189
|
func checkAndOpen(_ jumpToSettings: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
183
190
|
cmpManager.checkAndOpen(jumpToSettings: jumpToSettings) { error in
|
|
184
191
|
if let error = error {
|
|
@@ -189,7 +196,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
189
196
|
}
|
|
190
197
|
}
|
|
191
198
|
|
|
192
|
-
@objc(forceOpen:
|
|
199
|
+
@objc(forceOpen:resolve:reject:)
|
|
193
200
|
func forceOpen(_ jumpToSettings: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
194
201
|
cmpManager.forceOpen(jumpToSettings: jumpToSettings) { error in
|
|
195
202
|
if let error = error {
|
|
@@ -200,142 +207,41 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
200
207
|
}
|
|
201
208
|
}
|
|
202
209
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
@objc(checkWithServerAndOpenIfNecessary:withRejecter:)
|
|
206
|
-
func checkWithServerAndOpenIfNecessary(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
207
|
-
DispatchQueue.main.async { [weak self] in
|
|
208
|
-
guard let self = self else {
|
|
209
|
-
reject("ERROR", "Bridge object deallocated", nil)
|
|
210
|
-
return
|
|
211
|
-
}
|
|
212
|
-
self.cmpManager.checkWithServerAndOpenIfNecessary { success in
|
|
213
|
-
resolve(success)
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
@objc(openConsentLayer:withRejecter:)
|
|
219
|
-
func openConsentLayer(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
220
|
-
DispatchQueue.main.async { [weak self] in
|
|
221
|
-
guard let self = self else {
|
|
222
|
-
reject("ERROR", "Bridge object deallocated", nil)
|
|
223
|
-
return
|
|
224
|
-
}
|
|
225
|
-
self.cmpManager.openConsentLayer { success in
|
|
226
|
-
resolve(success)
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
@objc(jumpToSettings:withRejecter:)
|
|
232
|
-
func jumpToSettings(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
233
|
-
DispatchQueue.main.async { [weak self] in
|
|
234
|
-
guard let self = self else {
|
|
235
|
-
reject("ERROR", "Bridge object deallocated", nil)
|
|
236
|
-
return
|
|
237
|
-
}
|
|
238
|
-
self.cmpManager.jumpToSettings(completion: { success in resolve(success)})
|
|
239
|
-
resolve(nil)
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
@objc(checkIfConsentIsRequired:withRejecter:)
|
|
244
|
-
func checkIfConsentIsRequired(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
245
|
-
self.cmpManager.checkIfConsentIsRequired { success in
|
|
246
|
-
resolve(success)
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
@objc(hasUserChoice:withRejecter:)
|
|
251
|
-
func hasUserChoice(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
252
|
-
let result = self.cmpManager.hasUserChoice()
|
|
253
|
-
resolve(result)
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
@objc(hasPurposeConsent:withResolver:withRejecter:)
|
|
257
|
-
func hasPurposeConsent(_ purposeId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
258
|
-
let result = self.cmpManager.hasPurposeConsent(id: purposeId)
|
|
259
|
-
resolve(result)
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
@objc(hasVendorConsent:withResolver:withRejecter:)
|
|
263
|
-
func hasVendorConsent(_ vendorId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
264
|
-
let result = self.cmpManager.hasVendorConsent(id: vendorId)
|
|
265
|
-
resolve(result)
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
@objc(exportCMPInfo:withRejecter:)
|
|
210
|
+
@objc(exportCMPInfo:reject:)
|
|
269
211
|
func exportCMPInfo(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
270
212
|
let info = self.cmpManager.exportCMPInfo()
|
|
271
213
|
resolve(info)
|
|
272
214
|
}
|
|
273
215
|
|
|
274
|
-
@objc(
|
|
275
|
-
func getAllPurposesIDs(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
276
|
-
let purposeIDs = self.cmpManager.getAllPurposesIDs()
|
|
277
|
-
resolve(purposeIDs)
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
@objc(getEnabledPurposesIDs:withRejecter:)
|
|
281
|
-
func getEnabledPurposesIDs(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
282
|
-
let purposeIDs = self.cmpManager.getEnabledPurposesIDs()
|
|
283
|
-
resolve(purposeIDs)
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
@objc(getDisabledPurposesIDs:withRejecter:)
|
|
287
|
-
func getDisabledPurposesIDs(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
288
|
-
let purposeIDs = self.cmpManager.getDisabledPurposesIDs()
|
|
289
|
-
resolve(purposeIDs)
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
@objc(getAllVendorsIDs:withRejecter:)
|
|
293
|
-
func getAllVendorsIDs(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
294
|
-
let vendorIDs = self.cmpManager.getAllVendorsIDs()
|
|
295
|
-
resolve(vendorIDs)
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
@objc(getEnabledVendorsIDs:withRejecter:)
|
|
299
|
-
func getEnabledVendorsIDs(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
300
|
-
let vendorIDs = self.cmpManager.getEnabledVendorsIDs()
|
|
301
|
-
resolve(vendorIDs)
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
@objc(getDisabledVendorsIDs:withRejecter:)
|
|
305
|
-
func getDisabledVendorsIDs(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
306
|
-
let vendorIDs = self.cmpManager.getDisabledVendorsIDs()
|
|
307
|
-
resolve(vendorIDs)
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
@objc(acceptVendors:withResolver:withRejecter:)
|
|
216
|
+
@objc(acceptVendors:resolve:reject:)
|
|
311
217
|
func acceptVendors(_ vendors: [String], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
312
218
|
self.cmpManager.acceptVendors(vendors) { success in
|
|
313
219
|
resolve(success)
|
|
314
220
|
}
|
|
315
221
|
}
|
|
316
222
|
|
|
317
|
-
@objc(rejectVendors:
|
|
223
|
+
@objc(rejectVendors:resolve:reject:)
|
|
318
224
|
func rejectVendors(_ vendors: [String], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
319
225
|
self.cmpManager.rejectVendors(vendors) { success in
|
|
320
226
|
resolve(success)
|
|
321
227
|
}
|
|
322
228
|
}
|
|
323
229
|
|
|
324
|
-
@objc(acceptPurposes:updatePurpose:
|
|
230
|
+
@objc(acceptPurposes:updatePurpose:resolve:reject:)
|
|
325
231
|
func acceptPurposes(_ purposes: [String], updatePurpose: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
326
232
|
self.cmpManager.acceptPurposes(purposes, updatePurpose: updatePurpose) { success in
|
|
327
233
|
resolve(success)
|
|
328
234
|
}
|
|
329
235
|
}
|
|
330
236
|
|
|
331
|
-
@objc(rejectPurposes:updateVendor:
|
|
237
|
+
@objc(rejectPurposes:updateVendor:resolve:reject:)
|
|
332
238
|
func rejectPurposes(_ purposes: [String], updateVendor: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
333
239
|
self.cmpManager.rejectPurposes(purposes, updateVendor: updateVendor) { success in
|
|
334
240
|
resolve(success)
|
|
335
241
|
}
|
|
336
242
|
}
|
|
337
243
|
|
|
338
|
-
@objc(rejectAll:
|
|
244
|
+
@objc(rejectAll:reject:)
|
|
339
245
|
func rejectAll(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
340
246
|
self.cmpManager.rejectAll { error in
|
|
341
247
|
if let error = error {
|
|
@@ -346,7 +252,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
346
252
|
}
|
|
347
253
|
}
|
|
348
254
|
|
|
349
|
-
@objc(acceptAll:
|
|
255
|
+
@objc(acceptAll:reject:)
|
|
350
256
|
func acceptAll(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
351
257
|
self.cmpManager.acceptAll { error in
|
|
352
258
|
if let error = error {
|
|
@@ -357,7 +263,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
357
263
|
}
|
|
358
264
|
}
|
|
359
265
|
|
|
360
|
-
@objc(importCMPInfo:
|
|
266
|
+
@objc(importCMPInfo:resolve:reject:)
|
|
361
267
|
func importCMPInfo(_ cmpString: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
362
268
|
self.cmpManager.importCMPInfo(cmpString) { error in
|
|
363
269
|
if let error = error {
|
|
@@ -368,9 +274,20 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
368
274
|
}
|
|
369
275
|
}
|
|
370
276
|
|
|
371
|
-
@objc(resetConsentManagementData:
|
|
277
|
+
@objc(resetConsentManagementData:reject:)
|
|
372
278
|
func resetConsentManagementData(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
373
279
|
self.cmpManager.resetConsentManagementData(completion: { success in resolve(success)})
|
|
374
|
-
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
// MARK: - Event emitter methods (required for TurboModule)
|
|
283
|
+
|
|
284
|
+
@objc(addListener:)
|
|
285
|
+
override func addListener(_ eventName: String) {
|
|
286
|
+
super.addListener(eventName)
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
@objc(removeListeners:)
|
|
290
|
+
override func removeListeners(_ count: Double) {
|
|
291
|
+
super.removeListeners(Double(Int(count)))
|
|
375
292
|
}
|
|
376
293
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
// Event payload types for better TypeScript support
|
|
9
|
+
// Additional type definitions for better TypeScript support
|
|
10
|
+
var _default = exports.default = _reactNative.TurboModuleRegistry.getEnforcing('CmSdkReactNativeV3');
|
|
11
|
+
//# sourceMappingURL=NativeCmSdkReactNativeV3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeCmSdkReactNativeV3.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AAoBA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAoEeC,gCAAmB,CAACC,YAAY,CAAO,oBAAoB,CAAC","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,17 +3,22 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.setWebViewConfig = exports.setUrlConfig = exports.resetConsentManagementData = exports.rejectVendors = exports.rejectPurposes = exports.rejectAll = exports.
|
|
6
|
+
exports.setWebViewConfig = exports.setUrlConfig = exports.setATTStatus = exports.resetConsentManagementData = exports.rejectVendors = exports.rejectPurposes = exports.rejectAll = exports.isTurboModuleEnabled = exports.isNewArchitectureEnabled = exports.importCMPInfo = exports.getUserStatus = exports.getStatusForVendor = exports.getStatusForPurpose = exports.getGoogleConsentModeStatus = exports.forceOpen = exports.exportCMPInfo = exports.default = exports.checkAndOpen = exports.addShowConsentLayerListener = exports.addErrorListener = exports.addConsentListener = exports.addCloseConsentLayerListener = exports.addClickLinkListener = exports.addATTStatusChangeListener = exports.acceptVendors = exports.acceptPurposes = exports.acceptAll = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
+
var _NativeCmSdkReactNativeV = _interopRequireDefault(require("./NativeCmSdkReactNativeV3.js"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
10
|
const LINKING_ERROR = `The package 'react-native-cm-sdk-react-native-v3' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
9
11
|
ios: "- You have run 'pod install'\n",
|
|
10
12
|
default: ''
|
|
11
13
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
12
|
-
|
|
14
|
+
|
|
15
|
+
// Use TurboModule if available (New Architecture), fallback to legacy NativeModules
|
|
16
|
+
const CmSdkReactNativeV3 = _NativeCmSdkReactNativeV.default ?? (_reactNative.NativeModules.CmSdkReactNativeV3 ? _reactNative.NativeModules.CmSdkReactNativeV3 : new Proxy({}, {
|
|
13
17
|
get() {
|
|
14
18
|
throw new Error(LINKING_ERROR);
|
|
15
19
|
}
|
|
16
|
-
});
|
|
20
|
+
}));
|
|
21
|
+
const isTurboModuleEnabled = exports.isTurboModuleEnabled = _NativeCmSdkReactNativeV.default != null;
|
|
17
22
|
const eventEmitter = new _reactNative.NativeEventEmitter(CmSdkReactNativeV3);
|
|
18
23
|
const addConsentListener = callback => {
|
|
19
24
|
return eventEmitter.addListener('didReceiveConsent', event => {
|
|
@@ -40,46 +45,113 @@ const addClickLinkListener = callback => {
|
|
|
40
45
|
callback(event.url);
|
|
41
46
|
});
|
|
42
47
|
};
|
|
48
|
+
exports.addClickLinkListener = addClickLinkListener;
|
|
49
|
+
const addATTStatusChangeListener = callback => {
|
|
50
|
+
return eventEmitter.addListener('didChangeATTStatus', callback);
|
|
51
|
+
};
|
|
43
52
|
|
|
44
53
|
// Core configuration methods
|
|
45
|
-
exports.
|
|
46
|
-
const setUrlConfig =
|
|
47
|
-
|
|
54
|
+
exports.addATTStatusChangeListener = addATTStatusChangeListener;
|
|
55
|
+
const setUrlConfig = config => {
|
|
56
|
+
return CmSdkReactNativeV3.setUrlConfig(config);
|
|
57
|
+
};
|
|
58
|
+
exports.setUrlConfig = setUrlConfig;
|
|
59
|
+
const setWebViewConfig = config => {
|
|
60
|
+
return CmSdkReactNativeV3.setWebViewConfig(config);
|
|
61
|
+
};
|
|
62
|
+
exports.setWebViewConfig = setWebViewConfig;
|
|
63
|
+
const setATTStatus = status => {
|
|
64
|
+
return CmSdkReactNativeV3.setATTStatus(status);
|
|
65
|
+
};
|
|
48
66
|
|
|
49
|
-
// Main interaction methods
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
|
|
67
|
+
// Main interaction methods
|
|
68
|
+
exports.setATTStatus = setATTStatus;
|
|
69
|
+
const checkAndOpen = jumpToSettings => {
|
|
70
|
+
return CmSdkReactNativeV3.checkAndOpen(jumpToSettings);
|
|
71
|
+
};
|
|
72
|
+
exports.checkAndOpen = checkAndOpen;
|
|
73
|
+
const forceOpen = jumpToSettings => {
|
|
74
|
+
return CmSdkReactNativeV3.forceOpen(jumpToSettings);
|
|
75
|
+
};
|
|
53
76
|
|
|
54
77
|
// Consent status methods
|
|
55
|
-
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const
|
|
61
|
-
|
|
78
|
+
exports.forceOpen = forceOpen;
|
|
79
|
+
const getUserStatus = () => {
|
|
80
|
+
return CmSdkReactNativeV3.getUserStatus();
|
|
81
|
+
};
|
|
82
|
+
exports.getUserStatus = getUserStatus;
|
|
83
|
+
const getStatusForPurpose = purposeId => {
|
|
84
|
+
return CmSdkReactNativeV3.getStatusForPurpose(purposeId);
|
|
85
|
+
};
|
|
86
|
+
exports.getStatusForPurpose = getStatusForPurpose;
|
|
87
|
+
const getStatusForVendor = vendorId => {
|
|
88
|
+
return CmSdkReactNativeV3.getStatusForVendor(vendorId);
|
|
89
|
+
};
|
|
90
|
+
exports.getStatusForVendor = getStatusForVendor;
|
|
91
|
+
const getGoogleConsentModeStatus = () => {
|
|
92
|
+
return CmSdkReactNativeV3.getGoogleConsentModeStatus();
|
|
93
|
+
};
|
|
94
|
+
exports.getGoogleConsentModeStatus = getGoogleConsentModeStatus;
|
|
95
|
+
const exportCMPInfo = () => {
|
|
96
|
+
return CmSdkReactNativeV3.exportCMPInfo();
|
|
97
|
+
};
|
|
98
|
+
exports.exportCMPInfo = exportCMPInfo;
|
|
99
|
+
const importCMPInfo = cmpString => {
|
|
100
|
+
return CmSdkReactNativeV3.importCMPInfo(cmpString);
|
|
101
|
+
};
|
|
102
|
+
exports.importCMPInfo = importCMPInfo;
|
|
103
|
+
const resetConsentManagementData = () => {
|
|
104
|
+
return CmSdkReactNativeV3.resetConsentManagementData();
|
|
105
|
+
};
|
|
62
106
|
|
|
63
107
|
// Consent modification methods
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const
|
|
108
|
+
exports.resetConsentManagementData = resetConsentManagementData;
|
|
109
|
+
const acceptVendors = vendors => {
|
|
110
|
+
return CmSdkReactNativeV3.acceptVendors(vendors);
|
|
111
|
+
};
|
|
112
|
+
exports.acceptVendors = acceptVendors;
|
|
113
|
+
const rejectVendors = vendors => {
|
|
114
|
+
return CmSdkReactNativeV3.rejectVendors(vendors);
|
|
115
|
+
};
|
|
116
|
+
exports.rejectVendors = rejectVendors;
|
|
117
|
+
const acceptPurposes = (purposes, updatePurpose) => {
|
|
118
|
+
return CmSdkReactNativeV3.acceptPurposes(purposes, updatePurpose);
|
|
119
|
+
};
|
|
120
|
+
exports.acceptPurposes = acceptPurposes;
|
|
121
|
+
const rejectPurposes = (purposes, updateVendor) => {
|
|
122
|
+
return CmSdkReactNativeV3.rejectPurposes(purposes, updateVendor);
|
|
123
|
+
};
|
|
124
|
+
exports.rejectPurposes = rejectPurposes;
|
|
125
|
+
const rejectAll = () => {
|
|
126
|
+
return CmSdkReactNativeV3.rejectAll();
|
|
127
|
+
};
|
|
128
|
+
exports.rejectAll = rejectAll;
|
|
129
|
+
const acceptAll = () => {
|
|
130
|
+
return CmSdkReactNativeV3.acceptAll();
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
// Helper function to check if New Architecture is enabled
|
|
134
|
+
exports.acceptAll = acceptAll;
|
|
135
|
+
const isNewArchitectureEnabled = () => {
|
|
136
|
+
// Check multiple indicators for New Architecture
|
|
137
|
+
// 1. Check if our module was loaded via TurboModuleRegistry
|
|
138
|
+
if (_NativeCmSdkReactNativeV.default != null) {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// 2. Check for bridgeless mode (official RN flag)
|
|
143
|
+
if (global.RN$Bridgeless === true) {
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// 3. Check for TurboModule interop flag
|
|
148
|
+
if (global.RN$TurboInterop === true) {
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
return false;
|
|
152
|
+
};
|
|
70
153
|
|
|
71
|
-
//
|
|
72
|
-
|
|
73
|
-
const openConsentLayer = exports.openConsentLayer = CmSdkReactNativeV3.openConsentLayer;
|
|
74
|
-
const checkIfConsentIsRequired = exports.checkIfConsentIsRequired = CmSdkReactNativeV3.checkIfConsentIsRequired;
|
|
75
|
-
const hasUserChoice = exports.hasUserChoice = CmSdkReactNativeV3.hasUserChoice;
|
|
76
|
-
const hasPurposeConsent = exports.hasPurposeConsent = CmSdkReactNativeV3.hasPurposeConsent;
|
|
77
|
-
const hasVendorConsent = exports.hasVendorConsent = CmSdkReactNativeV3.hasVendorConsent;
|
|
78
|
-
const getAllPurposesIDs = exports.getAllPurposesIDs = CmSdkReactNativeV3.getAllPurposesIDs;
|
|
79
|
-
const getEnabledPurposesIDs = exports.getEnabledPurposesIDs = CmSdkReactNativeV3.getEnabledPurposesIDs;
|
|
80
|
-
const getDisabledPurposesIDs = exports.getDisabledPurposesIDs = CmSdkReactNativeV3.getDisabledPurposesIDs;
|
|
81
|
-
const getAllVendorsIDs = exports.getAllVendorsIDs = CmSdkReactNativeV3.getAllVendorsIDs;
|
|
82
|
-
const getEnabledVendorsIDs = exports.getEnabledVendorsIDs = CmSdkReactNativeV3.getEnabledVendorsIDs;
|
|
83
|
-
const getDisabledVendorsIDs = exports.getDisabledVendorsIDs = CmSdkReactNativeV3.getDisabledVendorsIDs;
|
|
154
|
+
// Re-export types for consumer convenience
|
|
155
|
+
exports.isNewArchitectureEnabled = isNewArchitectureEnabled;
|
|
84
156
|
var _default = exports.default = CmSdkReactNativeV3;
|
|
85
157
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_NativeCmSdkReactNativeV","_interopRequireDefault","e","__esModule","default","LINKING_ERROR","Platform","select","ios","CmSdkReactNativeV3","NativeCmSdkReactNativeV3","NativeModules","Proxy","get","Error","isTurboModuleEnabled","exports","eventEmitter","NativeEventEmitter","addConsentListener","callback","addListener","event","consent","jsonObject","addShowConsentLayerListener","addCloseConsentLayerListener","addErrorListener","error","addClickLinkListener","url","addATTStatusChangeListener","setUrlConfig","config","setWebViewConfig","setATTStatus","status","checkAndOpen","jumpToSettings","forceOpen","getUserStatus","getStatusForPurpose","purposeId","getStatusForVendor","vendorId","getGoogleConsentModeStatus","exportCMPInfo","importCMPInfo","cmpString","resetConsentManagementData","acceptVendors","vendors","rejectVendors","acceptPurposes","purposes","updatePurpose","rejectPurposes","updateVendor","rejectAll","acceptAll","isNewArchitectureEnabled","global","RN$Bridgeless","RN$TurboInterop","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
4
|
+
|
|
5
|
+
// Event payload types for better TypeScript support
|
|
6
|
+
|
|
7
|
+
// Additional type definitions for better TypeScript support
|
|
8
|
+
|
|
9
|
+
export default TurboModuleRegistry.getEnforcing('CmSdkReactNativeV3');
|
|
10
|
+
//# sourceMappingURL=NativeCmSdkReactNativeV3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeCmSdkReactNativeV3.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;;AAoBA;;AAoEA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,oBAAoB,CAAC","ignoreList":[]}
|