cm-sdk-react-native-v3 3.2.3 → 3.3.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/README.md CHANGED
@@ -1,10 +1,10 @@
1
- # ``consentmanager CMP SDK v3.2.3``
1
+ # ``consentmanager CMP SDK v3.3.0``
2
2
 
3
3
  # cm-sdk-react-native-v3
4
4
 
5
5
  cm-sdk-react-native-v3 is a comprehensive Consent Management Platform (CMP) SDK bridge for React Native developed applications. It provides easy-to-use APIs for handling user consent in compliance with various privacy regulations.
6
6
 
7
- For further information, please refer to [our documentation](https://help.consentmanager.net/books/cmp/page/integrating-the-sdk-v3-into-your-mobile-app)
7
+ For further information, please refer to [our documentation](https://help.consentmanager.net/books/cmp/chapter/integration-into-your-app---v3)
8
8
  ## License
9
9
 
10
10
  CMPManager is available under the MIT license. See the LICENSE file for more info.
@@ -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.3.0"
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
@@ -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,9 +350,4 @@ class CmSdkReactNativeV3: NSObject {
289
350
  self.cmpManager.resetConsentManagementData(completion: { success in resolve(success)})
290
351
  resolve(nil)
291
352
  }
292
-
293
- @objc
294
- static func requiresMainQueueSetup() -> Bool {
295
- return true
296
- }
297
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.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
 
@@ -33,9 +55,6 @@ const exportCMPInfo = exports.exportCMPInfo = CmSdkReactNativeV3.exportCMPInfo;
33
55
  const importCMPInfo = exports.importCMPInfo = CmSdkReactNativeV3.importCMPInfo;
34
56
  const resetConsentManagementData = exports.resetConsentManagementData = CmSdkReactNativeV3.resetConsentManagementData;
35
57
 
36
- // iOS App Tracking Transparency
37
- const getATTAuthorizationStatus = exports.getATTAuthorizationStatus = CmSdkReactNativeV3.getATTAuthorizationStatus;
38
-
39
58
  // Consent modification methods
40
59
  const acceptVendors = exports.acceptVendors = CmSdkReactNativeV3.acceptVendors;
41
60
  const rejectVendors = exports.rejectVendors = CmSdkReactNativeV3.rejectVendors;
@@ -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":"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","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","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":"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","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;
@@ -29,9 +47,6 @@ export const exportCMPInfo = CmSdkReactNativeV3.exportCMPInfo;
29
47
  export const importCMPInfo = CmSdkReactNativeV3.importCMPInfo;
30
48
  export const resetConsentManagementData = CmSdkReactNativeV3.resetConsentManagementData;
31
49
 
32
- // iOS App Tracking Transparency
33
- export const getATTAuthorizationStatus = CmSdkReactNativeV3.getATTAuthorizationStatus;
34
-
35
50
  // Consent modification methods
36
51
  export const acceptVendors = CmSdkReactNativeV3.acceptVendors;
37
52
  export const rejectVendors = CmSdkReactNativeV3.rejectVendors;
@@ -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","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;
@@ -11,7 +15,6 @@ export declare const getGoogleConsentModeStatus: any;
11
15
  export declare const exportCMPInfo: any;
12
16
  export declare const importCMPInfo: any;
13
17
  export declare const resetConsentManagementData: any;
14
- export declare const getATTAuthorizationStatus: any;
15
18
  export declare const acceptVendors: any;
16
19
  export declare const rejectVendors: any;
17
20
  export declare const acceptPurposes: 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,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;
@@ -11,7 +15,6 @@ export declare const getGoogleConsentModeStatus: any;
11
15
  export declare const exportCMPInfo: any;
12
16
  export declare const importCMPInfo: any;
13
17
  export declare const resetConsentManagementData: any;
14
- export declare const getATTAuthorizationStatus: any;
15
18
  export declare const acceptVendors: any;
16
19
  export declare const rejectVendors: any;
17
20
  export declare const acceptPurposes: 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,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.3",
3
+ "version": "3.3.0",
4
4
  "description": "Consent Management React Native Library by consentmanager.net",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -15,7 +15,7 @@ Pod::Spec.new do |s|
15
15
  s.source = { :git => "https://github.com/iubenda/cm-sdk-react-native-v3.git", :tag => "#{s.version}" }
16
16
 
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
- s.dependency "cm-sdk-ios-v3", "3.2.0"
18
+ s.dependency "cm-sdk-ios-v3", "3.3.0"
19
19
 
20
20
  # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
21
21
  # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
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;
@@ -35,9 +60,6 @@ export const exportCMPInfo = CmSdkReactNativeV3.exportCMPInfo;
35
60
  export const importCMPInfo = CmSdkReactNativeV3.importCMPInfo;
36
61
  export const resetConsentManagementData = CmSdkReactNativeV3.resetConsentManagementData;
37
62
 
38
- // iOS App Tracking Transparency
39
- export const getATTAuthorizationStatus = CmSdkReactNativeV3.getATTAuthorizationStatus;
40
-
41
63
  // Consent modification methods
42
64
  export const acceptVendors = CmSdkReactNativeV3.acceptVendors;
43
65
  export const rejectVendors = CmSdkReactNativeV3.rejectVendors;