cm-sdk-react-native-v3 3.2.3 → 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/android/build.gradle +1 -1
- package/ios/CmSdkReactNativeV3-Bridging-Header.h +1 -0
- package/ios/CmSdkReactNativeV3.mm +5 -1
- package/ios/CmSdkReactNativeV3.swift +62 -6
- package/lib/commonjs/index.js +23 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +19 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +4 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +4 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +26 -1
package/android/build.gradle
CHANGED
|
@@ -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.
|
|
99
|
+
implementation "net.consentmanager.sdkv3:cmsdkv3:3.2.2"
|
|
100
100
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
#import <React/RCTBridgeModule.h>
|
|
2
|
+
#import <React/RCTEventEmitter.h>
|
|
2
3
|
|
|
3
|
-
@interface RCT_EXTERN_MODULE(CmSdkReactNativeV3,
|
|
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:
|
|
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
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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","
|
|
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":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -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;
|
package/lib/module/index.js.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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;
|
|
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
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;
|