cm-sdk-react-native-v3 3.2.2 → 3.2.4

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 CHANGED
@@ -1,4 +1,4 @@
1
- # ``consentmanager CMP SDK v3.2.1``
1
+ # ``consentmanager CMP SDK v3.2.3``
2
2
 
3
3
  # cm-sdk-react-native-v3
4
4
 
@@ -96,5 +96,5 @@ dependencies {
96
96
  //noinspection GradleDynamicVersion
97
97
  implementation "com.facebook.react:react-native:+"
98
98
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
99
- implementation "net.consentmanager.sdkv3:cmsdkv3:3.2.1"
99
+ implementation "net.consentmanager.sdkv3:cmsdkv3:3.2.2"
100
100
  }
@@ -1,2 +1,3 @@
1
1
  #import <React/RCTBridgeModule.h>
2
2
  #import <React/RCTViewManager.h>
3
+ #import <React/RCTEventEmitter.h>
@@ -1,6 +1,10 @@
1
1
  #import <React/RCTBridgeModule.h>
2
+ #import <React/RCTEventEmitter.h>
2
3
 
3
- @interface RCT_EXTERN_MODULE(CmSdkReactNativeV3, NSObject)
4
+ @interface RCT_EXTERN_MODULE(CmSdkReactNativeV3, RCTEventEmitter)
5
+
6
+ // Event emitter methods
7
+ RCT_EXTERN_METHOD(supportedEvents)
4
8
 
5
9
  // Core methods
6
10
  RCT_EXTERN_METHOD(setUrlConfig:(NSDictionary *)config
@@ -113,10 +117,6 @@ RCT_EXTERN_METHOD(importCMPInfo:(NSString *)cmpString
113
117
  RCT_EXTERN_METHOD(resetConsentManagementData:(RCTPromiseResolveBlock)resolve
114
118
  withRejecter:(RCTPromiseRejectBlock)reject)
115
119
 
116
- // ATT methods
117
- RCT_EXTERN_METHOD(getATTAuthorizationStatus:(RCTPromiseResolveBlock)resolve
118
- withRejecter:(RCTPromiseRejectBlock)reject)
119
-
120
120
  + (BOOL)requiresMainQueueSetup
121
121
  {
122
122
  return YES;
@@ -1,14 +1,51 @@
1
1
  import Foundation
2
2
  import cm_sdk_ios_v3
3
+ import React
3
4
 
4
5
  @objc(CmSdkReactNativeV3)
5
- class CmSdkReactNativeV3: NSObject {
6
+ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
7
+ func didChangeATTStatus(oldStatus: Int, newStatus: Int, lastUpdated: Date?) {
8
+ sendEventIfListening(name: "didChangeATTStatus", body: [
9
+ "oldStatus": oldStatus,
10
+ "newStatus": newStatus,
11
+ "lastUpdated": lastUpdated?.timeIntervalSince1970 ?? 0
12
+ ])
13
+ }
6
14
 
7
15
  private let cmpManager: CMPManager
16
+ private var hasListeners: Bool = false
8
17
 
9
18
  override init() {
10
19
  self.cmpManager = CMPManager.shared
11
20
  super.init()
21
+ // Set ourselves as the delegate to receive events
22
+ self.cmpManager.delegate = self
23
+ }
24
+
25
+ // Required override for RCTEventEmitter
26
+ override static func requiresMainQueueSetup() -> Bool {
27
+ return true
28
+ }
29
+
30
+ // Define the events that this module can emit
31
+ override func supportedEvents() -> [String]! {
32
+ return ["didReceiveConsent", "didShowConsentLayer", "didCloseConsentLayer", "didReceiveError"]
33
+ }
34
+
35
+ // Track when listeners are added or removed
36
+ override func startObserving() {
37
+ hasListeners = true
38
+ }
39
+
40
+ override func stopObserving() {
41
+ hasListeners = false
42
+ }
43
+
44
+ // Helper method to check if we have listeners before sending events
45
+ private func sendEventIfListening(name: String, body: [String: Any]?) {
46
+ if hasListeners {
47
+ self.sendEvent(withName: name, body: body)
48
+ }
12
49
  }
13
50
 
14
51
  private func runOnMainThread(_ block: @escaping () -> Void) {
@@ -19,6 +56,30 @@ class CmSdkReactNativeV3: NSObject {
19
56
  }
20
57
  }
21
58
 
59
+ // MARK: - CMPManagerDelegate methods
60
+
61
+ @objc public func didReceiveConsent(consent: String, jsonObject: [String: Any]) {
62
+ // Forward the consent event to React Native
63
+ sendEventIfListening(name: "didReceiveConsent", body: [
64
+ "consent": consent,
65
+ "jsonObject": jsonObject
66
+ ])
67
+ }
68
+
69
+ @objc public func didShowConsentLayer() {
70
+ sendEventIfListening(name: "didShowConsentLayer", body: nil)
71
+ }
72
+
73
+ @objc public func didCloseConsentLayer() {
74
+ sendEventIfListening(name: "didCloseConsentLayer", body: nil)
75
+ }
76
+
77
+ @objc public func didReceiveError(error: String) {
78
+ sendEventIfListening(name: "didReceiveError", body: ["error": error])
79
+ }
80
+
81
+ // MARK: - Configuration methods
82
+
22
83
  @objc(setWebViewConfig:withResolver:withRejecter:)
23
84
  func setWebViewConfig(_ config: [String: Any], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
24
85
  let uiConfig = ConsentLayerUIConfig(
@@ -289,19 +350,4 @@ class CmSdkReactNativeV3: NSObject {
289
350
  self.cmpManager.resetConsentManagementData(completion: { success in resolve(success)})
290
351
  resolve(nil)
291
352
  }
292
-
293
- @objc(getATTAuthorizationStatus:withRejecter:)
294
- func getATTAuthorizationStatus(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
295
- if #available(iOS 14, *) {
296
- let status = self.cmpManager.getATTAuthorizationStatus()
297
- resolve(status.rawValue)
298
- } else {
299
- reject("ERROR", "ATT is only available on iOS 14 and later", nil)
300
- }
301
- }
302
-
303
- @objc
304
- static func requiresMainQueueSetup() -> Bool {
305
- return true
306
- }
307
353
  }
@@ -3,7 +3,7 @@
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.openConsentLayer = exports.jumpToSettings = exports.importCMPInfo = exports.hasVendorConsent = exports.hasUserChoice = exports.hasPurposeConsent = exports.getUserStatus = exports.getStatusForVendor = exports.getStatusForPurpose = exports.getGoogleConsentModeStatus = exports.getEnabledVendorsIDs = exports.getEnabledPurposesIDs = exports.getDisabledVendorsIDs = exports.getDisabledPurposesIDs = exports.getAllVendorsIDs = exports.getAllPurposesIDs = exports.getATTAuthorizationStatus = exports.forceOpen = exports.exportCMPInfo = exports.default = exports.checkWithServerAndOpenIfNecessary = exports.checkIfConsentIsRequired = exports.checkAndOpen = exports.acceptVendors = exports.acceptPurposes = exports.acceptAll = void 0;
6
+ exports.setWebViewConfig = exports.setUrlConfig = exports.resetConsentManagementData = exports.rejectVendors = exports.rejectPurposes = exports.rejectAll = exports.openConsentLayer = exports.jumpToSettings = exports.importCMPInfo = exports.hasVendorConsent = exports.hasUserChoice = exports.hasPurposeConsent = exports.getUserStatus = exports.getStatusForVendor = exports.getStatusForPurpose = exports.getGoogleConsentModeStatus = exports.getEnabledVendorsIDs = exports.getEnabledPurposesIDs = exports.getDisabledVendorsIDs = exports.getDisabledPurposesIDs = exports.getAllVendorsIDs = exports.getAllPurposesIDs = exports.getATTAuthorizationStatus = exports.forceOpen = exports.exportCMPInfo = exports.default = exports.checkWithServerAndOpenIfNecessary = exports.checkIfConsentIsRequired = exports.checkAndOpen = exports.addShowConsentLayerListener = exports.addErrorListener = exports.addConsentListener = exports.addCloseConsentLayerListener = exports.acceptVendors = exports.acceptPurposes = exports.acceptAll = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  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
9
  ios: "- You have run 'pod install'\n",
@@ -14,8 +14,30 @@ const CmSdkReactNativeV3 = _reactNative.NativeModules.CmSdkReactNativeV3 ? _reac
14
14
  throw new Error(LINKING_ERROR);
15
15
  }
16
16
  });
17
+ const isIOS = _reactNative.Platform.OS === 'ios';
18
+ const eventEmitter = isIOS ? new _reactNative.NativeEventEmitter(CmSdkReactNativeV3) : _reactNative.DeviceEventEmitter;
19
+ const addConsentListener = callback => {
20
+ return eventEmitter.addListener('didReceiveConsent', event => {
21
+ callback(event.consent, event.jsonObject);
22
+ });
23
+ };
24
+ exports.addConsentListener = addConsentListener;
25
+ const addShowConsentLayerListener = callback => {
26
+ return eventEmitter.addListener('didShowConsentLayer', callback);
27
+ };
28
+ exports.addShowConsentLayerListener = addShowConsentLayerListener;
29
+ const addCloseConsentLayerListener = callback => {
30
+ return eventEmitter.addListener('didCloseConsentLayer', callback);
31
+ };
32
+ exports.addCloseConsentLayerListener = addCloseConsentLayerListener;
33
+ const addErrorListener = callback => {
34
+ return eventEmitter.addListener('didReceiveError', event => {
35
+ callback(event.error);
36
+ });
37
+ };
17
38
 
18
39
  // Core configuration methods
40
+ exports.addErrorListener = addErrorListener;
19
41
  const setUrlConfig = exports.setUrlConfig = CmSdkReactNativeV3.setUrlConfig;
20
42
  const setWebViewConfig = exports.setWebViewConfig = CmSdkReactNativeV3.setWebViewConfig;
21
43
 
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","CmSdkReactNativeV3","NativeModules","Proxy","get","Error","setUrlConfig","exports","setWebViewConfig","checkAndOpen","forceOpen","jumpToSettings","getUserStatus","getStatusForPurpose","getStatusForVendor","getGoogleConsentModeStatus","exportCMPInfo","importCMPInfo","resetConsentManagementData","getATTAuthorizationStatus","acceptVendors","rejectVendors","acceptPurposes","rejectPurposes","rejectAll","acceptAll","checkWithServerAndOpenIfNecessary","openConsentLayer","checkIfConsentIsRequired","hasUserChoice","hasPurposeConsent","hasVendorConsent","getAllPurposesIDs","getEnabledPurposesIDs","getDisabledPurposesIDs","getAllVendorsIDs","getEnabledVendorsIDs","getDisabledVendorsIDs","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACjB,8FAA8F,GAC9FC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,kBAAkB,GAAGC,0BAAa,CAACD,kBAAkB,GACvDC,0BAAa,CAACD,kBAAkB,GAChC,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;;AAEL;AACO,MAAMU,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGL,kBAAkB,CAACK,YAAY;AACpD,MAAME,gBAAgB,GAAAD,OAAA,CAAAC,gBAAA,GAAGP,kBAAkB,CAACO,gBAAgB;;AAEnE;AACO,MAAMC,YAAY,GAAAF,OAAA,CAAAE,YAAA,GAAGR,kBAAkB,CAACQ,YAAY;AACpD,MAAMC,SAAS,GAAAH,OAAA,CAAAG,SAAA,GAAGT,kBAAkB,CAACS,SAAS;AAC9C,MAAMC,cAAc,GAAAJ,OAAA,CAAAI,cAAA,GAAGV,kBAAkB,CAACU,cAAc;;AAE/D;AACO,MAAMC,aAAa,GAAAL,OAAA,CAAAK,aAAA,GAAGX,kBAAkB,CAACW,aAAa;AACtD,MAAMC,mBAAmB,GAAAN,OAAA,CAAAM,mBAAA,GAAGZ,kBAAkB,CAACY,mBAAmB;AAClE,MAAMC,kBAAkB,GAAAP,OAAA,CAAAO,kBAAA,GAAGb,kBAAkB,CAACa,kBAAkB;AAChE,MAAMC,0BAA0B,GAAAR,OAAA,CAAAQ,0BAAA,GAAGd,kBAAkB,CAACc,0BAA0B;AAChF,MAAMC,aAAa,GAAAT,OAAA,CAAAS,aAAA,GAAGf,kBAAkB,CAACe,aAAa;AACtD,MAAMC,aAAa,GAAAV,OAAA,CAAAU,aAAA,GAAGhB,kBAAkB,CAACgB,aAAa;AACtD,MAAMC,0BAA0B,GAAAX,OAAA,CAAAW,0BAAA,GAAGjB,kBAAkB,CAACiB,0BAA0B;;AAEvF;AACO,MAAMC,yBAAyB,GAAAZ,OAAA,CAAAY,yBAAA,GAAGlB,kBAAkB,CAACkB,yBAAyB;;AAErF;AACO,MAAMC,aAAa,GAAAb,OAAA,CAAAa,aAAA,GAAGnB,kBAAkB,CAACmB,aAAa;AACtD,MAAMC,aAAa,GAAAd,OAAA,CAAAc,aAAA,GAAGpB,kBAAkB,CAACoB,aAAa;AACtD,MAAMC,cAAc,GAAAf,OAAA,CAAAe,cAAA,GAAGrB,kBAAkB,CAACqB,cAAc;AACxD,MAAMC,cAAc,GAAAhB,OAAA,CAAAgB,cAAA,GAAGtB,kBAAkB,CAACsB,cAAc;AACxD,MAAMC,SAAS,GAAAjB,OAAA,CAAAiB,SAAA,GAAGvB,kBAAkB,CAACuB,SAAS;AAC9C,MAAMC,SAAS,GAAAlB,OAAA,CAAAkB,SAAA,GAAGxB,kBAAkB,CAACwB,SAAS;;AAErD;AACO,MAAMC,iCAAiC,GAAAnB,OAAA,CAAAmB,iCAAA,GAAGzB,kBAAkB,CAACyB,iCAAiC;AAC9F,MAAMC,gBAAgB,GAAApB,OAAA,CAAAoB,gBAAA,GAAG1B,kBAAkB,CAAC0B,gBAAgB;AAC5D,MAAMC,wBAAwB,GAAArB,OAAA,CAAAqB,wBAAA,GAAG3B,kBAAkB,CAAC2B,wBAAwB;AAC5E,MAAMC,aAAa,GAAAtB,OAAA,CAAAsB,aAAA,GAAG5B,kBAAkB,CAAC4B,aAAa;AACtD,MAAMC,iBAAiB,GAAAvB,OAAA,CAAAuB,iBAAA,GAAG7B,kBAAkB,CAAC6B,iBAAiB;AAC9D,MAAMC,gBAAgB,GAAAxB,OAAA,CAAAwB,gBAAA,GAAG9B,kBAAkB,CAAC8B,gBAAgB;AAC5D,MAAMC,iBAAiB,GAAAzB,OAAA,CAAAyB,iBAAA,GAAG/B,kBAAkB,CAAC+B,iBAAiB;AAC9D,MAAMC,qBAAqB,GAAA1B,OAAA,CAAA0B,qBAAA,GAAGhC,kBAAkB,CAACgC,qBAAqB;AACtE,MAAMC,sBAAsB,GAAA3B,OAAA,CAAA2B,sBAAA,GAAGjC,kBAAkB,CAACiC,sBAAsB;AACxE,MAAMC,gBAAgB,GAAA5B,OAAA,CAAA4B,gBAAA,GAAGlC,kBAAkB,CAACkC,gBAAgB;AAC5D,MAAMC,oBAAoB,GAAA7B,OAAA,CAAA6B,oBAAA,GAAGnC,kBAAkB,CAACmC,oBAAoB;AACpE,MAAMC,qBAAqB,GAAA9B,OAAA,CAAA8B,qBAAA,GAAGpC,kBAAkB,CAACoC,qBAAqB;AAAC,IAAAC,QAAA,GAAA/B,OAAA,CAAAP,OAAA,GAE/DC,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","CmSdkReactNativeV3","NativeModules","Proxy","get","Error","isIOS","OS","eventEmitter","NativeEventEmitter","DeviceEventEmitter","addConsentListener","callback","addListener","event","consent","jsonObject","exports","addShowConsentLayerListener","addCloseConsentLayerListener","addErrorListener","error","setUrlConfig","setWebViewConfig","checkAndOpen","forceOpen","jumpToSettings","getUserStatus","getStatusForPurpose","getStatusForVendor","getGoogleConsentModeStatus","exportCMPInfo","importCMPInfo","resetConsentManagementData","getATTAuthorizationStatus","acceptVendors","rejectVendors","acceptPurposes","rejectPurposes","rejectAll","acceptAll","checkWithServerAndOpenIfNecessary","openConsentLayer","checkIfConsentIsRequired","hasUserChoice","hasPurposeConsent","hasVendorConsent","getAllPurposesIDs","getEnabledPurposesIDs","getDisabledPurposesIDs","getAllVendorsIDs","getEnabledVendorsIDs","getDisabledVendorsIDs","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACjB,8FAA8F,GAC9FC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,kBAAkB,GAAGC,0BAAa,CAACD,kBAAkB,GACvDC,0BAAa,CAACD,kBAAkB,GAChC,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,MAAMU,KAAK,GAAGT,qBAAQ,CAACU,EAAE,KAAK,KAAK;AACnC,MAAMC,YAAY,GAAGF,KAAK,GAAG,IAAIG,+BAAkB,CAACR,kBAAkB,CAAC,GAAGS,+BAAkB;AAErF,MAAMC,kBAAkB,GAC7BC,QAAoD,IACjD;EACH,OAAOJ,YAAY,CAACK,WAAW,CAAC,mBAAmB,EAAGC,KAAK,IAAK;IAC9DF,QAAQ,CAACE,KAAK,CAACC,OAAO,EAAED,KAAK,CAACE,UAAU,CAAC;EAC3C,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAN,kBAAA,GAAAA,kBAAA;AAEK,MAAMO,2BAA2B,GAAIN,QAAoB,IAAK;EACnE,OAAOJ,YAAY,CAACK,WAAW,CAAC,qBAAqB,EAAED,QAAQ,CAAC;AAClE,CAAC;AAACK,OAAA,CAAAC,2BAAA,GAAAA,2BAAA;AAEK,MAAMC,4BAA4B,GAAIP,QAAoB,IAAK;EACpE,OAAOJ,YAAY,CAACK,WAAW,CAAC,sBAAsB,EAAED,QAAQ,CAAC;AACnE,CAAC;AAACK,OAAA,CAAAE,4BAAA,GAAAA,4BAAA;AAEK,MAAMC,gBAAgB,GAAIR,QAAiC,IAAK;EACrE,OAAOJ,YAAY,CAACK,WAAW,CAAC,iBAAiB,EAAGC,KAAK,IAAK;IAC5DF,QAAQ,CAACE,KAAK,CAACO,KAAK,CAAC;EACvB,CAAC,CAAC;AACJ,CAAC;;AAED;AAAAJ,OAAA,CAAAG,gBAAA,GAAAA,gBAAA;AACO,MAAME,YAAY,GAAAL,OAAA,CAAAK,YAAA,GAAGrB,kBAAkB,CAACqB,YAAY;AACpD,MAAMC,gBAAgB,GAAAN,OAAA,CAAAM,gBAAA,GAAGtB,kBAAkB,CAACsB,gBAAgB;;AAEnE;AACO,MAAMC,YAAY,GAAAP,OAAA,CAAAO,YAAA,GAAGvB,kBAAkB,CAACuB,YAAY;AACpD,MAAMC,SAAS,GAAAR,OAAA,CAAAQ,SAAA,GAAGxB,kBAAkB,CAACwB,SAAS;AAC9C,MAAMC,cAAc,GAAAT,OAAA,CAAAS,cAAA,GAAGzB,kBAAkB,CAACyB,cAAc;;AAE/D;AACO,MAAMC,aAAa,GAAAV,OAAA,CAAAU,aAAA,GAAG1B,kBAAkB,CAAC0B,aAAa;AACtD,MAAMC,mBAAmB,GAAAX,OAAA,CAAAW,mBAAA,GAAG3B,kBAAkB,CAAC2B,mBAAmB;AAClE,MAAMC,kBAAkB,GAAAZ,OAAA,CAAAY,kBAAA,GAAG5B,kBAAkB,CAAC4B,kBAAkB;AAChE,MAAMC,0BAA0B,GAAAb,OAAA,CAAAa,0BAAA,GAAG7B,kBAAkB,CAAC6B,0BAA0B;AAChF,MAAMC,aAAa,GAAAd,OAAA,CAAAc,aAAA,GAAG9B,kBAAkB,CAAC8B,aAAa;AACtD,MAAMC,aAAa,GAAAf,OAAA,CAAAe,aAAA,GAAG/B,kBAAkB,CAAC+B,aAAa;AACtD,MAAMC,0BAA0B,GAAAhB,OAAA,CAAAgB,0BAAA,GAAGhC,kBAAkB,CAACgC,0BAA0B;;AAEvF;AACO,MAAMC,yBAAyB,GAAAjB,OAAA,CAAAiB,yBAAA,GAAGjC,kBAAkB,CAACiC,yBAAyB;;AAErF;AACO,MAAMC,aAAa,GAAAlB,OAAA,CAAAkB,aAAA,GAAGlC,kBAAkB,CAACkC,aAAa;AACtD,MAAMC,aAAa,GAAAnB,OAAA,CAAAmB,aAAA,GAAGnC,kBAAkB,CAACmC,aAAa;AACtD,MAAMC,cAAc,GAAApB,OAAA,CAAAoB,cAAA,GAAGpC,kBAAkB,CAACoC,cAAc;AACxD,MAAMC,cAAc,GAAArB,OAAA,CAAAqB,cAAA,GAAGrC,kBAAkB,CAACqC,cAAc;AACxD,MAAMC,SAAS,GAAAtB,OAAA,CAAAsB,SAAA,GAAGtC,kBAAkB,CAACsC,SAAS;AAC9C,MAAMC,SAAS,GAAAvB,OAAA,CAAAuB,SAAA,GAAGvC,kBAAkB,CAACuC,SAAS;;AAErD;AACO,MAAMC,iCAAiC,GAAAxB,OAAA,CAAAwB,iCAAA,GAAGxC,kBAAkB,CAACwC,iCAAiC;AAC9F,MAAMC,gBAAgB,GAAAzB,OAAA,CAAAyB,gBAAA,GAAGzC,kBAAkB,CAACyC,gBAAgB;AAC5D,MAAMC,wBAAwB,GAAA1B,OAAA,CAAA0B,wBAAA,GAAG1C,kBAAkB,CAAC0C,wBAAwB;AAC5E,MAAMC,aAAa,GAAA3B,OAAA,CAAA2B,aAAA,GAAG3C,kBAAkB,CAAC2C,aAAa;AACtD,MAAMC,iBAAiB,GAAA5B,OAAA,CAAA4B,iBAAA,GAAG5C,kBAAkB,CAAC4C,iBAAiB;AAC9D,MAAMC,gBAAgB,GAAA7B,OAAA,CAAA6B,gBAAA,GAAG7C,kBAAkB,CAAC6C,gBAAgB;AAC5D,MAAMC,iBAAiB,GAAA9B,OAAA,CAAA8B,iBAAA,GAAG9C,kBAAkB,CAAC8C,iBAAiB;AAC9D,MAAMC,qBAAqB,GAAA/B,OAAA,CAAA+B,qBAAA,GAAG/C,kBAAkB,CAAC+C,qBAAqB;AACtE,MAAMC,sBAAsB,GAAAhC,OAAA,CAAAgC,sBAAA,GAAGhD,kBAAkB,CAACgD,sBAAsB;AACxE,MAAMC,gBAAgB,GAAAjC,OAAA,CAAAiC,gBAAA,GAAGjD,kBAAkB,CAACiD,gBAAgB;AAC5D,MAAMC,oBAAoB,GAAAlC,OAAA,CAAAkC,oBAAA,GAAGlD,kBAAkB,CAACkD,oBAAoB;AACpE,MAAMC,qBAAqB,GAAAnC,OAAA,CAAAmC,qBAAA,GAAGnD,kBAAkB,CAACmD,qBAAqB;AAAC,IAAAC,QAAA,GAAApC,OAAA,CAAAjB,OAAA,GAE/DC,kBAAkB","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { NativeModules, Platform } from 'react-native';
3
+ import { NativeModules, Platform, NativeEventEmitter, DeviceEventEmitter } from 'react-native';
4
4
  const LINKING_ERROR = `The package 'react-native-cm-sdk-react-native-v3' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
5
5
  ios: "- You have run 'pod install'\n",
6
6
  default: ''
@@ -10,6 +10,24 @@ const CmSdkReactNativeV3 = NativeModules.CmSdkReactNativeV3 ? NativeModules.CmSd
10
10
  throw new Error(LINKING_ERROR);
11
11
  }
12
12
  });
13
+ const isIOS = Platform.OS === 'ios';
14
+ const eventEmitter = isIOS ? new NativeEventEmitter(CmSdkReactNativeV3) : DeviceEventEmitter;
15
+ export const addConsentListener = callback => {
16
+ return eventEmitter.addListener('didReceiveConsent', event => {
17
+ callback(event.consent, event.jsonObject);
18
+ });
19
+ };
20
+ export const addShowConsentLayerListener = callback => {
21
+ return eventEmitter.addListener('didShowConsentLayer', callback);
22
+ };
23
+ export const addCloseConsentLayerListener = callback => {
24
+ return eventEmitter.addListener('didCloseConsentLayer', callback);
25
+ };
26
+ export const addErrorListener = callback => {
27
+ return eventEmitter.addListener('didReceiveError', event => {
28
+ callback(event.error);
29
+ });
30
+ };
13
31
 
14
32
  // Core configuration methods
15
33
  export const setUrlConfig = CmSdkReactNativeV3.setUrlConfig;
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","CmSdkReactNativeV3","Proxy","get","Error","setUrlConfig","setWebViewConfig","checkAndOpen","forceOpen","jumpToSettings","getUserStatus","getStatusForPurpose","getStatusForVendor","getGoogleConsentModeStatus","exportCMPInfo","importCMPInfo","resetConsentManagementData","getATTAuthorizationStatus","acceptVendors","rejectVendors","acceptPurposes","rejectPurposes","rejectAll","acceptAll","checkWithServerAndOpenIfNecessary","openConsentLayer","checkIfConsentIsRequired","hasUserChoice","hasPurposeConsent","hasVendorConsent","getAllPurposesIDs","getEnabledPurposesIDs","getDisabledPurposesIDs","getAllVendorsIDs","getEnabledVendorsIDs","getDisabledVendorsIDs"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,8FAA8F,GAC9FD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,kBAAkB,GAAGN,aAAa,CAACM,kBAAkB,GACvDN,aAAa,CAACM,kBAAkB,GAChC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;;AAEL;AACA,OAAO,MAAMQ,YAAY,GAAGJ,kBAAkB,CAACI,YAAY;AAC3D,OAAO,MAAMC,gBAAgB,GAAGL,kBAAkB,CAACK,gBAAgB;;AAEnE;AACA,OAAO,MAAMC,YAAY,GAAGN,kBAAkB,CAACM,YAAY;AAC3D,OAAO,MAAMC,SAAS,GAAGP,kBAAkB,CAACO,SAAS;AACrD,OAAO,MAAMC,cAAc,GAAGR,kBAAkB,CAACQ,cAAc;;AAE/D;AACA,OAAO,MAAMC,aAAa,GAAGT,kBAAkB,CAACS,aAAa;AAC7D,OAAO,MAAMC,mBAAmB,GAAGV,kBAAkB,CAACU,mBAAmB;AACzE,OAAO,MAAMC,kBAAkB,GAAGX,kBAAkB,CAACW,kBAAkB;AACvE,OAAO,MAAMC,0BAA0B,GAAGZ,kBAAkB,CAACY,0BAA0B;AACvF,OAAO,MAAMC,aAAa,GAAGb,kBAAkB,CAACa,aAAa;AAC7D,OAAO,MAAMC,aAAa,GAAGd,kBAAkB,CAACc,aAAa;AAC7D,OAAO,MAAMC,0BAA0B,GAAGf,kBAAkB,CAACe,0BAA0B;;AAEvF;AACA,OAAO,MAAMC,yBAAyB,GAAGhB,kBAAkB,CAACgB,yBAAyB;;AAErF;AACA,OAAO,MAAMC,aAAa,GAAGjB,kBAAkB,CAACiB,aAAa;AAC7D,OAAO,MAAMC,aAAa,GAAGlB,kBAAkB,CAACkB,aAAa;AAC7D,OAAO,MAAMC,cAAc,GAAGnB,kBAAkB,CAACmB,cAAc;AAC/D,OAAO,MAAMC,cAAc,GAAGpB,kBAAkB,CAACoB,cAAc;AAC/D,OAAO,MAAMC,SAAS,GAAGrB,kBAAkB,CAACqB,SAAS;AACrD,OAAO,MAAMC,SAAS,GAAGtB,kBAAkB,CAACsB,SAAS;;AAErD;AACA,OAAO,MAAMC,iCAAiC,GAAGvB,kBAAkB,CAACuB,iCAAiC;AACrG,OAAO,MAAMC,gBAAgB,GAAGxB,kBAAkB,CAACwB,gBAAgB;AACnE,OAAO,MAAMC,wBAAwB,GAAGzB,kBAAkB,CAACyB,wBAAwB;AACnF,OAAO,MAAMC,aAAa,GAAG1B,kBAAkB,CAAC0B,aAAa;AAC7D,OAAO,MAAMC,iBAAiB,GAAG3B,kBAAkB,CAAC2B,iBAAiB;AACrE,OAAO,MAAMC,gBAAgB,GAAG5B,kBAAkB,CAAC4B,gBAAgB;AACnE,OAAO,MAAMC,iBAAiB,GAAG7B,kBAAkB,CAAC6B,iBAAiB;AACrE,OAAO,MAAMC,qBAAqB,GAAG9B,kBAAkB,CAAC8B,qBAAqB;AAC7E,OAAO,MAAMC,sBAAsB,GAAG/B,kBAAkB,CAAC+B,sBAAsB;AAC/E,OAAO,MAAMC,gBAAgB,GAAGhC,kBAAkB,CAACgC,gBAAgB;AACnE,OAAO,MAAMC,oBAAoB,GAAGjC,kBAAkB,CAACiC,oBAAoB;AAC3E,OAAO,MAAMC,qBAAqB,GAAGlC,kBAAkB,CAACkC,qBAAqB;AAE7E,eAAelC,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","Platform","NativeEventEmitter","DeviceEventEmitter","LINKING_ERROR","select","ios","default","CmSdkReactNativeV3","Proxy","get","Error","isIOS","OS","eventEmitter","addConsentListener","callback","addListener","event","consent","jsonObject","addShowConsentLayerListener","addCloseConsentLayerListener","addErrorListener","error","setUrlConfig","setWebViewConfig","checkAndOpen","forceOpen","jumpToSettings","getUserStatus","getStatusForPurpose","getStatusForVendor","getGoogleConsentModeStatus","exportCMPInfo","importCMPInfo","resetConsentManagementData","getATTAuthorizationStatus","acceptVendors","rejectVendors","acceptPurposes","rejectPurposes","rejectAll","acceptAll","checkWithServerAndOpenIfNecessary","openConsentLayer","checkIfConsentIsRequired","hasUserChoice","hasPurposeConsent","hasVendorConsent","getAllPurposesIDs","getEnabledPurposesIDs","getDisabledPurposesIDs","getAllVendorsIDs","getEnabledVendorsIDs","getDisabledVendorsIDs"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,8 @@
1
1
  declare const CmSdkReactNativeV3: any;
2
+ export declare const addConsentListener: (callback: (consent: string, jsonObject: any) => void) => import("react-native").EmitterSubscription;
3
+ export declare const addShowConsentLayerListener: (callback: () => void) => import("react-native").EmitterSubscription;
4
+ export declare const addCloseConsentLayerListener: (callback: () => void) => import("react-native").EmitterSubscription;
5
+ export declare const addErrorListener: (callback: (error: string) => void) => import("react-native").EmitterSubscription;
2
6
  export declare const setUrlConfig: any;
3
7
  export declare const setWebViewConfig: any;
4
8
  export declare const checkAndOpen: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,kBAAkB,KASnB,CAAC;AAGN,eAAO,MAAM,YAAY,KAAkC,CAAC;AAC5D,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AAGpE,eAAO,MAAM,YAAY,KAAkC,CAAC;AAC5D,eAAO,MAAM,SAAS,KAA+B,CAAC;AACtD,eAAO,MAAM,cAAc,KAAoC,CAAC;AAGhE,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,mBAAmB,KAAyC,CAAC;AAC1E,eAAO,MAAM,kBAAkB,KAAwC,CAAC;AACxE,eAAO,MAAM,0BAA0B,KAAgD,CAAC;AACxF,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,0BAA0B,KAAgD,CAAC;AAGxF,eAAO,MAAM,yBAAyB,KAA+C,CAAC;AAGtF,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,cAAc,KAAoC,CAAC;AAChE,eAAO,MAAM,cAAc,KAAoC,CAAC;AAChE,eAAO,MAAM,SAAS,KAA+B,CAAC;AACtD,eAAO,MAAM,SAAS,KAA+B,CAAC;AAGtD,eAAO,MAAM,iCAAiC,KAAuD,CAAC;AACtG,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AACpE,eAAO,MAAM,wBAAwB,KAA8C,CAAC;AACpF,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,iBAAiB,KAAuC,CAAC;AACtE,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AACpE,eAAO,MAAM,iBAAiB,KAAuC,CAAC;AACtE,eAAO,MAAM,qBAAqB,KAA2C,CAAC;AAC9E,eAAO,MAAM,sBAAsB,KAA4C,CAAC;AAChF,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AACpE,eAAO,MAAM,oBAAoB,KAA0C,CAAC;AAC5E,eAAO,MAAM,qBAAqB,KAA2C,CAAC;AAE9E,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,kBAAkB,KASnB,CAAC;AAKN,eAAO,MAAM,kBAAkB,GAC7B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,IAAI,+CAKrD,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,IAAI,+CAE/D,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,UAAU,MAAM,IAAI,+CAEhE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,UAAU,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,+CAIjE,CAAC;AAGF,eAAO,MAAM,YAAY,KAAkC,CAAC;AAC5D,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AAGpE,eAAO,MAAM,YAAY,KAAkC,CAAC;AAC5D,eAAO,MAAM,SAAS,KAA+B,CAAC;AACtD,eAAO,MAAM,cAAc,KAAoC,CAAC;AAGhE,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,mBAAmB,KAAyC,CAAC;AAC1E,eAAO,MAAM,kBAAkB,KAAwC,CAAC;AACxE,eAAO,MAAM,0BAA0B,KAAgD,CAAC;AACxF,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,0BAA0B,KAAgD,CAAC;AAGxF,eAAO,MAAM,yBAAyB,KAA+C,CAAC;AAGtF,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,cAAc,KAAoC,CAAC;AAChE,eAAO,MAAM,cAAc,KAAoC,CAAC;AAChE,eAAO,MAAM,SAAS,KAA+B,CAAC;AACtD,eAAO,MAAM,SAAS,KAA+B,CAAC;AAGtD,eAAO,MAAM,iCAAiC,KAAuD,CAAC;AACtG,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AACpE,eAAO,MAAM,wBAAwB,KAA8C,CAAC;AACpF,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,iBAAiB,KAAuC,CAAC;AACtE,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AACpE,eAAO,MAAM,iBAAiB,KAAuC,CAAC;AACtE,eAAO,MAAM,qBAAqB,KAA2C,CAAC;AAC9E,eAAO,MAAM,sBAAsB,KAA4C,CAAC;AAChF,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AACpE,eAAO,MAAM,oBAAoB,KAA0C,CAAC;AAC5E,eAAO,MAAM,qBAAqB,KAA2C,CAAC;AAE9E,eAAe,kBAAkB,CAAC"}
@@ -1,4 +1,8 @@
1
1
  declare const CmSdkReactNativeV3: any;
2
+ export declare const addConsentListener: (callback: (consent: string, jsonObject: any) => void) => import("react-native").EmitterSubscription;
3
+ export declare const addShowConsentLayerListener: (callback: () => void) => import("react-native").EmitterSubscription;
4
+ export declare const addCloseConsentLayerListener: (callback: () => void) => import("react-native").EmitterSubscription;
5
+ export declare const addErrorListener: (callback: (error: string) => void) => import("react-native").EmitterSubscription;
2
6
  export declare const setUrlConfig: any;
3
7
  export declare const setWebViewConfig: any;
4
8
  export declare const checkAndOpen: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,kBAAkB,KASnB,CAAC;AAGN,eAAO,MAAM,YAAY,KAAkC,CAAC;AAC5D,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AAGpE,eAAO,MAAM,YAAY,KAAkC,CAAC;AAC5D,eAAO,MAAM,SAAS,KAA+B,CAAC;AACtD,eAAO,MAAM,cAAc,KAAoC,CAAC;AAGhE,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,mBAAmB,KAAyC,CAAC;AAC1E,eAAO,MAAM,kBAAkB,KAAwC,CAAC;AACxE,eAAO,MAAM,0BAA0B,KAAgD,CAAC;AACxF,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,0BAA0B,KAAgD,CAAC;AAGxF,eAAO,MAAM,yBAAyB,KAA+C,CAAC;AAGtF,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,cAAc,KAAoC,CAAC;AAChE,eAAO,MAAM,cAAc,KAAoC,CAAC;AAChE,eAAO,MAAM,SAAS,KAA+B,CAAC;AACtD,eAAO,MAAM,SAAS,KAA+B,CAAC;AAGtD,eAAO,MAAM,iCAAiC,KAAuD,CAAC;AACtG,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AACpE,eAAO,MAAM,wBAAwB,KAA8C,CAAC;AACpF,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,iBAAiB,KAAuC,CAAC;AACtE,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AACpE,eAAO,MAAM,iBAAiB,KAAuC,CAAC;AACtE,eAAO,MAAM,qBAAqB,KAA2C,CAAC;AAC9E,eAAO,MAAM,sBAAsB,KAA4C,CAAC;AAChF,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AACpE,eAAO,MAAM,oBAAoB,KAA0C,CAAC;AAC5E,eAAO,MAAM,qBAAqB,KAA2C,CAAC;AAE9E,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,kBAAkB,KASnB,CAAC;AAKN,eAAO,MAAM,kBAAkB,GAC7B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,IAAI,+CAKrD,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,IAAI,+CAE/D,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,UAAU,MAAM,IAAI,+CAEhE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,UAAU,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,+CAIjE,CAAC;AAGF,eAAO,MAAM,YAAY,KAAkC,CAAC;AAC5D,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AAGpE,eAAO,MAAM,YAAY,KAAkC,CAAC;AAC5D,eAAO,MAAM,SAAS,KAA+B,CAAC;AACtD,eAAO,MAAM,cAAc,KAAoC,CAAC;AAGhE,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,mBAAmB,KAAyC,CAAC;AAC1E,eAAO,MAAM,kBAAkB,KAAwC,CAAC;AACxE,eAAO,MAAM,0BAA0B,KAAgD,CAAC;AACxF,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,0BAA0B,KAAgD,CAAC;AAGxF,eAAO,MAAM,yBAAyB,KAA+C,CAAC;AAGtF,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,cAAc,KAAoC,CAAC;AAChE,eAAO,MAAM,cAAc,KAAoC,CAAC;AAChE,eAAO,MAAM,SAAS,KAA+B,CAAC;AACtD,eAAO,MAAM,SAAS,KAA+B,CAAC;AAGtD,eAAO,MAAM,iCAAiC,KAAuD,CAAC;AACtG,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AACpE,eAAO,MAAM,wBAAwB,KAA8C,CAAC;AACpF,eAAO,MAAM,aAAa,KAAmC,CAAC;AAC9D,eAAO,MAAM,iBAAiB,KAAuC,CAAC;AACtE,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AACpE,eAAO,MAAM,iBAAiB,KAAuC,CAAC;AACtE,eAAO,MAAM,qBAAqB,KAA2C,CAAC;AAC9E,eAAO,MAAM,sBAAsB,KAA4C,CAAC;AAChF,eAAO,MAAM,gBAAgB,KAAsC,CAAC;AACpE,eAAO,MAAM,oBAAoB,KAA0C,CAAC;AAC5E,eAAO,MAAM,qBAAqB,KAA2C,CAAC;AAE9E,eAAe,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cm-sdk-react-native-v3",
3
- "version": "3.2.2",
3
+ "version": "3.2.4",
4
4
  "description": "Consent Management React Native Library by consentmanager.net",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
package/src/index.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import { NativeModules, Platform } from 'react-native';
1
+ import { NativeModules, Platform, NativeEventEmitter, DeviceEventEmitter } from 'react-native';
2
2
 
3
3
  const LINKING_ERROR =
4
4
  `The package 'react-native-cm-sdk-react-native-v3' doesn't seem to be linked. Make sure: \n\n` +
@@ -17,6 +17,31 @@ const CmSdkReactNativeV3 = NativeModules.CmSdkReactNativeV3
17
17
  }
18
18
  );
19
19
 
20
+ const isIOS = Platform.OS === 'ios';
21
+ const eventEmitter = isIOS ? new NativeEventEmitter(CmSdkReactNativeV3) : DeviceEventEmitter;
22
+
23
+ export const addConsentListener = (
24
+ callback: (consent: string, jsonObject: any) => void
25
+ ) => {
26
+ return eventEmitter.addListener('didReceiveConsent', (event) => {
27
+ callback(event.consent, event.jsonObject);
28
+ });
29
+ };
30
+
31
+ export const addShowConsentLayerListener = (callback: () => void) => {
32
+ return eventEmitter.addListener('didShowConsentLayer', callback);
33
+ };
34
+
35
+ export const addCloseConsentLayerListener = (callback: () => void) => {
36
+ return eventEmitter.addListener('didCloseConsentLayer', callback);
37
+ };
38
+
39
+ export const addErrorListener = (callback: (error: string) => void) => {
40
+ return eventEmitter.addListener('didReceiveError', (event) => {
41
+ callback(event.error);
42
+ });
43
+ };
44
+
20
45
  // Core configuration methods
21
46
  export const setUrlConfig = CmSdkReactNativeV3.setUrlConfig;
22
47
  export const setWebViewConfig = CmSdkReactNativeV3.setWebViewConfig;