cm-sdk-react-native-v3 3.8.0 → 3.10.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 +1 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/cmsdkreactnativev3/CmSdkReactNativeV3Module.kt +304 -139
- package/ios/CmSdkReactNativeV3.mm +17 -0
- package/ios/CmSdkReactNativeV3.swift +193 -26
- package/lib/commonjs/NativeCmSdkReactNativeV3.js.map +1 -1
- package/lib/commonjs/index.js +44 -11
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/NativeCmSdkReactNativeV3.js.map +1 -1
- package/lib/module/index.js +35 -9
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/NativeCmSdkReactNativeV3.d.ts +24 -3
- package/lib/typescript/commonjs/src/NativeCmSdkReactNativeV3.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +9 -2
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/NativeCmSdkReactNativeV3.d.ts +24 -3
- package/lib/typescript/module/src/NativeCmSdkReactNativeV3.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +9 -2
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/react-native-cm-sdk-react-native-v3.podspec +1 -1
- package/src/NativeCmSdkReactNativeV3.ts +32 -4
- package/src/index.tsx +53 -14
|
@@ -78,6 +78,23 @@ RCT_EXTERN_METHOD(importCMPInfo:(NSString *)cmpString
|
|
|
78
78
|
RCT_EXTERN_METHOD(resetConsentManagementData:(RCTPromiseResolveBlock)resolve
|
|
79
79
|
reject:(RCTPromiseRejectBlock)reject)
|
|
80
80
|
|
|
81
|
+
RCT_EXTERN_METHOD(configureAutomaticFirebaseConsentUpdates:(BOOL)enabled
|
|
82
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
83
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
84
|
+
|
|
85
|
+
RCT_EXTERN_METHOD(setAutomaticFirebaseConsentUpdatesEnabled:(BOOL)enabled
|
|
86
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
87
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
88
|
+
|
|
89
|
+
RCT_EXTERN_METHOD(isAutomaticFirebaseConsentUpdatesEnabled:(RCTPromiseResolveBlock)resolve
|
|
90
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
91
|
+
|
|
92
|
+
RCT_EXTERN_METHOD(updateFirebaseConsent:(RCTPromiseResolveBlock)resolve
|
|
93
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
94
|
+
|
|
95
|
+
RCT_EXTERN_METHOD(isFirebaseAnalyticsAvailable:(RCTPromiseResolveBlock)resolve
|
|
96
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
97
|
+
|
|
81
98
|
// Event emitter support methods
|
|
82
99
|
RCT_EXTERN_METHOD(addListener:(NSString *)eventName)
|
|
83
100
|
RCT_EXTERN_METHOD(removeListeners:(double)count)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Foundation
|
|
2
2
|
import UIKit
|
|
3
|
+
import WebKit
|
|
3
4
|
import cm_sdk_ios_v3
|
|
4
5
|
import React
|
|
5
6
|
|
|
@@ -77,6 +78,21 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
77
78
|
// MARK: - CMPManagerDelegate methods
|
|
78
79
|
|
|
79
80
|
@objc public func didReceiveConsent(consent: String, jsonObject: [String: Any]) {
|
|
81
|
+
print("[CMP iOS] didReceiveConsent called")
|
|
82
|
+
print("[CMP iOS] consent parameter length: \(consent.count)")
|
|
83
|
+
print("[CMP iOS] consent first 60 chars: \(String(consent.prefix(60)))")
|
|
84
|
+
if let firstChar = consent.first {
|
|
85
|
+
print("[CMP iOS] consent first char: '\(firstChar)' code: \(firstChar.asciiValue ?? 0)")
|
|
86
|
+
}
|
|
87
|
+
if let lastChar = consent.last {
|
|
88
|
+
print("[CMP iOS] consent last char: '\(lastChar)' code: \(lastChar.asciiValue ?? 0)")
|
|
89
|
+
}
|
|
90
|
+
print("[CMP iOS] jsonObject keys: \(jsonObject.keys)")
|
|
91
|
+
if let cmpString = jsonObject["cmpString"] as? String {
|
|
92
|
+
print("[CMP iOS] jsonObject.cmpString exists! Length: \(cmpString.count)")
|
|
93
|
+
print("[CMP iOS] Are consent param and jsonObject.cmpString same? \(consent == cmpString)")
|
|
94
|
+
}
|
|
95
|
+
|
|
80
96
|
sendEventIfListening(name: "didReceiveConsent", body: [
|
|
81
97
|
"consent": consent,
|
|
82
98
|
"jsonObject": jsonObject
|
|
@@ -111,6 +127,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
111
127
|
let cornerRadius = CGFloat(config["cornerRadius"] as? Double ?? 5)
|
|
112
128
|
let respectsSafeArea = config["respectsSafeArea"] as? Bool ?? true
|
|
113
129
|
let allowsOrientationChanges = config["allowsOrientationChanges"] as? Bool ?? true
|
|
130
|
+
let darkMode = config["darkMode"] as? Bool ?? false
|
|
114
131
|
|
|
115
132
|
let position = self.mapPosition(config: config, respectsSafeArea: respectsSafeArea)
|
|
116
133
|
let backgroundStyle = self.mapBackgroundStyle(config: config)
|
|
@@ -120,7 +137,8 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
120
137
|
backgroundStyle: backgroundStyle,
|
|
121
138
|
cornerRadius: cornerRadius,
|
|
122
139
|
respectsSafeArea: respectsSafeArea,
|
|
123
|
-
allowsOrientationChanges: allowsOrientationChanges
|
|
140
|
+
allowsOrientationChanges: allowsOrientationChanges,
|
|
141
|
+
darkMode: darkMode
|
|
124
142
|
)
|
|
125
143
|
|
|
126
144
|
self.cmpManager.setWebViewConfig(uiConfig)
|
|
@@ -240,10 +258,22 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
240
258
|
let appName = config["appName"] as? String else {
|
|
241
259
|
throw NSError(domain: "CmSdkReactNativeV3", code: 0, userInfo: [NSLocalizedDescriptionKey: "Invalid config parameters"])
|
|
242
260
|
}
|
|
261
|
+
let jsonConfig = config["jsonConfig"] as? String
|
|
243
262
|
let noHash = config["noHash"] as? Bool ?? false
|
|
263
|
+
let webViewConnectionTimeoutMillis = (config["webViewConnectionTimeoutMillis"] as? NSNumber)?.intValue ?? 3000
|
|
264
|
+
let forceRegulation = config["forceRegulation"] as? String
|
|
244
265
|
print("ID: \(id) - Domain: \(domain)")
|
|
245
266
|
|
|
246
|
-
let urlConfig = UrlConfig(
|
|
267
|
+
let urlConfig = UrlConfig(
|
|
268
|
+
id: id,
|
|
269
|
+
domain: domain,
|
|
270
|
+
language: language,
|
|
271
|
+
appName: appName,
|
|
272
|
+
jsonConfig: jsonConfig,
|
|
273
|
+
noHash: noHash,
|
|
274
|
+
webViewConnectionTimeoutMillis: webViewConnectionTimeoutMillis,
|
|
275
|
+
forceRegulation: forceRegulation
|
|
276
|
+
)
|
|
247
277
|
print("urlConfig = \(urlConfig)")
|
|
248
278
|
self.cmpManager.setUrlConfig(urlConfig)
|
|
249
279
|
resolve(nil)
|
|
@@ -289,13 +319,13 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
289
319
|
@objc(getStatusForPurpose:resolve:reject:)
|
|
290
320
|
func getStatusForPurpose(_ purposeId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
291
321
|
let status = cmpManager.getStatusForPurpose(id: purposeId)
|
|
292
|
-
resolve(status
|
|
322
|
+
resolve(stringValue(for: status))
|
|
293
323
|
}
|
|
294
324
|
|
|
295
325
|
@objc(getStatusForVendor:resolve:reject:)
|
|
296
326
|
func getStatusForVendor(_ vendorId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
297
327
|
let status = cmpManager.getStatusForVendor(id: vendorId)
|
|
298
|
-
resolve(status
|
|
328
|
+
resolve(stringValue(for: status))
|
|
299
329
|
}
|
|
300
330
|
|
|
301
331
|
@objc(getGoogleConsentModeStatus:reject:)
|
|
@@ -306,23 +336,29 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
306
336
|
|
|
307
337
|
@objc(checkAndOpen:resolve:reject:)
|
|
308
338
|
func checkAndOpen(_ jumpToSettings: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
339
|
+
runOnMainThread {
|
|
340
|
+
self.updatePresentingViewControllerIfNeeded()
|
|
341
|
+
self.cmpManager.checkAndOpen(jumpToSettings: jumpToSettings) { error in
|
|
342
|
+
if let error = error {
|
|
343
|
+
reject("ERROR", "Failed to check and open: \(error.localizedDescription)", error)
|
|
344
|
+
} else {
|
|
345
|
+
resolve(true)
|
|
346
|
+
}
|
|
347
|
+
}
|
|
315
348
|
}
|
|
316
349
|
}
|
|
317
350
|
|
|
318
351
|
@objc(forceOpen:resolve:reject:)
|
|
319
352
|
func forceOpen(_ jumpToSettings: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
353
|
+
runOnMainThread {
|
|
354
|
+
self.updatePresentingViewControllerIfNeeded()
|
|
355
|
+
self.cmpManager.forceOpen(jumpToSettings: jumpToSettings) { error in
|
|
356
|
+
if let error = error {
|
|
357
|
+
reject("ERROR", "Failed to force open: \(error.localizedDescription)", error)
|
|
358
|
+
} else {
|
|
359
|
+
resolve(true)
|
|
360
|
+
}
|
|
361
|
+
}
|
|
326
362
|
}
|
|
327
363
|
}
|
|
328
364
|
|
|
@@ -334,29 +370,29 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
334
370
|
|
|
335
371
|
@objc(acceptVendors:resolve:reject:)
|
|
336
372
|
func acceptVendors(_ vendors: [String], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
337
|
-
self.cmpManager.acceptVendors(vendors) {
|
|
338
|
-
|
|
339
|
-
|
|
373
|
+
self.cmpManager.acceptVendors(vendors) { error in
|
|
374
|
+
self.resolveBooleanCompletion(error: error, successMessage: "Failed to accept vendors", resolve: resolve, reject: reject)
|
|
375
|
+
}
|
|
340
376
|
}
|
|
341
377
|
|
|
342
378
|
@objc(rejectVendors:resolve:reject:)
|
|
343
379
|
func rejectVendors(_ vendors: [String], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
344
|
-
self.cmpManager.rejectVendors(vendors) {
|
|
345
|
-
|
|
380
|
+
self.cmpManager.rejectVendors(vendors) { error in
|
|
381
|
+
self.resolveBooleanCompletion(error: error, successMessage: "Failed to reject vendors", resolve: resolve, reject: reject)
|
|
346
382
|
}
|
|
347
383
|
}
|
|
348
384
|
|
|
349
385
|
@objc(acceptPurposes:updatePurpose:resolve:reject:)
|
|
350
386
|
func acceptPurposes(_ purposes: [String], updatePurpose: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
351
|
-
self.cmpManager.acceptPurposes(purposes, updatePurpose: updatePurpose) {
|
|
352
|
-
|
|
387
|
+
self.cmpManager.acceptPurposes(purposes, updatePurpose: updatePurpose) { error in
|
|
388
|
+
self.resolveBooleanCompletion(error: error, successMessage: "Failed to accept purposes", resolve: resolve, reject: reject)
|
|
353
389
|
}
|
|
354
390
|
}
|
|
355
391
|
|
|
356
392
|
@objc(rejectPurposes:updateVendor:resolve:reject:)
|
|
357
393
|
func rejectPurposes(_ purposes: [String], updateVendor: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
358
|
-
self.cmpManager.rejectPurposes(purposes, updateVendor: updateVendor) {
|
|
359
|
-
|
|
394
|
+
self.cmpManager.rejectPurposes(purposes, updateVendor: updateVendor) { error in
|
|
395
|
+
self.resolveBooleanCompletion(error: error, successMessage: "Failed to reject purposes", resolve: resolve, reject: reject)
|
|
360
396
|
}
|
|
361
397
|
}
|
|
362
398
|
|
|
@@ -395,7 +431,43 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
395
431
|
|
|
396
432
|
@objc(resetConsentManagementData:reject:)
|
|
397
433
|
func resetConsentManagementData(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
398
|
-
self.cmpManager.resetConsentManagementData
|
|
434
|
+
self.cmpManager.resetConsentManagementData { error in
|
|
435
|
+
if let error = error {
|
|
436
|
+
reject("ERROR", "Failed to reset consent management data: \(error.localizedDescription)", error)
|
|
437
|
+
return
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
self.clearWebViewData {
|
|
441
|
+
resolve(true)
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
@objc(configureAutomaticFirebaseConsentUpdates:resolve:reject:)
|
|
447
|
+
func configureAutomaticFirebaseConsentUpdates(_ enabled: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
448
|
+
CMPManager.configureAutomaticFirebaseConsentUpdates(enabled)
|
|
449
|
+
resolve(nil)
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
@objc(setAutomaticFirebaseConsentUpdatesEnabled:resolve:reject:)
|
|
453
|
+
func setAutomaticFirebaseConsentUpdatesEnabled(_ enabled: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
454
|
+
cmpManager.setAutomaticFirebaseConsentUpdatesEnabled(enabled)
|
|
455
|
+
resolve(nil)
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
@objc(isAutomaticFirebaseConsentUpdatesEnabled:reject:)
|
|
459
|
+
func isAutomaticFirebaseConsentUpdatesEnabled(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
460
|
+
resolve(cmpManager.isAutomaticFirebaseConsentUpdatesEnabled())
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
@objc(updateFirebaseConsent:reject:)
|
|
464
|
+
func updateFirebaseConsent(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
465
|
+
resolve(cmpManager.updateFirebaseConsent())
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
@objc(isFirebaseAnalyticsAvailable:reject:)
|
|
469
|
+
func isFirebaseAnalyticsAvailable(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
470
|
+
resolve(cmpManager.isFirebaseAnalyticsAvailable())
|
|
399
471
|
}
|
|
400
472
|
|
|
401
473
|
// MARK: - Event emitter methods
|
|
@@ -409,4 +481,99 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
409
481
|
override func removeListeners(_ count: Double) {
|
|
410
482
|
super.removeListeners(Double(Int(count)))
|
|
411
483
|
}
|
|
484
|
+
|
|
485
|
+
private func clearWebViewData(completion: @escaping () -> Void) {
|
|
486
|
+
let dataStore = WKWebsiteDataStore.default()
|
|
487
|
+
let types = WKWebsiteDataStore.allWebsiteDataTypes()
|
|
488
|
+
let domainsToClear = [
|
|
489
|
+
"consentmanager.net",
|
|
490
|
+
"delivery.consentmanager.net",
|
|
491
|
+
"a.delivery.consentmanager.net"
|
|
492
|
+
]
|
|
493
|
+
|
|
494
|
+
DispatchQueue.main.async {
|
|
495
|
+
dataStore.fetchDataRecords(ofTypes: types) { records in
|
|
496
|
+
let toDelete = records.filter { record in
|
|
497
|
+
domainsToClear.contains { domain in
|
|
498
|
+
record.displayName.contains(domain)
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
let deleteAndComplete = {
|
|
503
|
+
self.clearCookiesForDomains(domainsToClear)
|
|
504
|
+
completion()
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
guard !toDelete.isEmpty else {
|
|
508
|
+
deleteAndComplete()
|
|
509
|
+
return
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
dataStore.removeData(ofTypes: types, for: toDelete) {
|
|
513
|
+
deleteAndComplete()
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
private func clearCookiesForDomains(_ domains: [String]) {
|
|
520
|
+
let cookieStorage = HTTPCookieStorage.shared
|
|
521
|
+
cookieStorage.cookies?.forEach { cookie in
|
|
522
|
+
if domains.contains(where: { domain in cookie.domain.contains(domain) }) {
|
|
523
|
+
cookieStorage.deleteCookie(cookie)
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
private func stringValue(for status: UniqueConsentStatus) -> String {
|
|
529
|
+
switch status {
|
|
530
|
+
case .choiceDoesntExist:
|
|
531
|
+
return "choiceDoesntExist"
|
|
532
|
+
case .granted:
|
|
533
|
+
return "granted"
|
|
534
|
+
case .denied:
|
|
535
|
+
return "denied"
|
|
536
|
+
@unknown default:
|
|
537
|
+
return "choiceDoesntExist"
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
private func resolveBooleanCompletion(
|
|
542
|
+
error: NSError?,
|
|
543
|
+
successMessage: String,
|
|
544
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
545
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
546
|
+
) {
|
|
547
|
+
if let error = error {
|
|
548
|
+
reject("ERROR", "\(successMessage): \(error.localizedDescription)", error)
|
|
549
|
+
} else {
|
|
550
|
+
resolve(true)
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
private func updatePresentingViewControllerIfNeeded() {
|
|
555
|
+
if let viewController = currentPresentingViewController() {
|
|
556
|
+
cmpManager.setPresentingViewController(viewController)
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
private func currentPresentingViewController() -> UIViewController? {
|
|
561
|
+
if #available(iOS 13.0, *) {
|
|
562
|
+
let windowScene = UIApplication.shared.connectedScenes
|
|
563
|
+
.compactMap { $0 as? UIWindowScene }
|
|
564
|
+
.first { $0.activationState == .foregroundActive }
|
|
565
|
+
let rootViewController = windowScene?.windows.first { $0.isKeyWindow }?.rootViewController
|
|
566
|
+
return topMostViewController(from: rootViewController)
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
return topMostViewController(from: UIApplication.shared.keyWindow?.rootViewController)
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
private func topMostViewController(from rootViewController: UIViewController?) -> UIViewController? {
|
|
573
|
+
var current = rootViewController
|
|
574
|
+
while let presented = current?.presentedViewController {
|
|
575
|
+
current = presented
|
|
576
|
+
}
|
|
577
|
+
return current
|
|
578
|
+
}
|
|
412
579
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","WebViewPosition","exports","BackgroundStyleType","BlurEffectStyle","ATTStatus","CmSdkReactNativeV3","NativeModules","_default","default"],"sourceRoot":"../../src","sources":["NativeCmSdkReactNativeV3.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AAoBA;AAAA,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","WebViewPosition","exports","BackgroundStyleType","BlurEffectStyle","ATTStatus","CmSdkReactNativeV3","NativeModules","_default","default"],"sourceRoot":"../../src","sources":["NativeCmSdkReactNativeV3.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AAoBA;AAAA,IAeYC,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAcfE,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAAA,IAOnBC,eAAe,GAAAF,OAAA,CAAAE,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAMfC,SAAS,GAAAH,OAAA,CAAAG,SAAA,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AA4FrB,MAAM;EAAEC;AAAmB,CAAC,GAAGC,0BAAa;AAAC,IAAAC,QAAA,GAAAN,OAAA,CAAAO,OAAA,GAE9BH,kBAAkB","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -28,13 +28,13 @@ Object.defineProperty(exports, "WebViewPosition", {
|
|
|
28
28
|
return _NativeCmSdkReactNativeV.WebViewPosition;
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
|
-
exports.setWebViewConfig = exports.setUrlConfig = exports.setATTStatus = exports.resetConsentManagementData = exports.rejectVendors = exports.rejectPurposes = exports.rejectAll = exports.isConsentRequired = 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;
|
|
31
|
+
exports.updateThirdPartyConsent = exports.updateFirebaseConsent = exports.setWebViewConfig = exports.setUrlConfig = exports.setAutomaticFirebaseConsentUpdatesEnabled = exports.setAutomaticConsentUpdatesEnabled = exports.setATTStatus = exports.resetConsentManagementData = exports.rejectVendors = exports.rejectPurposes = exports.rejectAll = exports.isFirebaseAnalyticsAvailable = exports.isConsentRequired = exports.isAutomaticFirebaseConsentUpdatesEnabled = exports.importCMPInfo = exports.getUserStatus = exports.getStatusForVendor = exports.getStatusForPurpose = exports.getGoogleConsentModeStatus = exports.forceOpen = exports.exportCMPInfo = exports.default = exports.configureAutomaticFirebaseConsentUpdates = exports.checkAndOpen = exports.addShowConsentLayerListener = exports.addErrorListener = exports.addConsentListener = exports.addCloseConsentLayerListener = exports.addClickLinkListener = exports.addATTStatusChangeListener = exports.acceptVendors = exports.acceptPurposes = exports.acceptAll = void 0;
|
|
32
32
|
var _reactNative = require("react-native");
|
|
33
33
|
var _NativeCmSdkReactNativeV = _interopRequireWildcard(require("./NativeCmSdkReactNativeV3.js"));
|
|
34
34
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
35
35
|
// Re-export enums/constants for consumers
|
|
36
36
|
|
|
37
|
-
const LINKING_ERROR = `The package '
|
|
37
|
+
const LINKING_ERROR = `The package 'cm-sdk-react-native-v3' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
38
38
|
ios: "- You have run 'pod install'\n",
|
|
39
39
|
default: ''
|
|
40
40
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
@@ -44,6 +44,13 @@ const CmSdkReactNativeV3 = _NativeCmSdkReactNativeV.default ?? _reactNative.Nati
|
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
46
|
const eventEmitter = new _reactNative.NativeEventEmitter(CmSdkReactNativeV3);
|
|
47
|
+
const getOptionalNativeMethod = methodName => {
|
|
48
|
+
const method = CmSdkReactNativeV3[methodName];
|
|
49
|
+
if (typeof method !== 'function') {
|
|
50
|
+
throw new Error(`[cm-sdk-react-native-v3] ${String(methodName)} is not available on ${_reactNative.Platform.OS}.`);
|
|
51
|
+
}
|
|
52
|
+
return method.bind(CmSdkReactNativeV3);
|
|
53
|
+
};
|
|
47
54
|
const addConsentListener = callback => {
|
|
48
55
|
return eventEmitter.addListener('didReceiveConsent', event => {
|
|
49
56
|
callback(event.consent, event.jsonObject);
|
|
@@ -126,7 +133,7 @@ const normalizeWebViewConfig = config => {
|
|
|
126
133
|
throw new Error('customRect is required when position is "custom"');
|
|
127
134
|
}
|
|
128
135
|
if (_reactNative.Platform.OS === 'android') {
|
|
129
|
-
console.warn('[cm-sdk-react-native-v3] Android native SDK
|
|
136
|
+
console.warn('[cm-sdk-react-native-v3] Android native SDK uses width/height/gravity for custom positioning, so RN customRect falls back to full screen.');
|
|
130
137
|
}
|
|
131
138
|
}
|
|
132
139
|
const backgroundStyle = (() => {
|
|
@@ -159,12 +166,11 @@ const normalizeWebViewConfig = config => {
|
|
|
159
166
|
if (blurStyle !== _NativeCmSdkReactNativeV.BlurEffectStyle.Dark && blurStyle !== _NativeCmSdkReactNativeV.BlurEffectStyle.Light && blurStyle !== _NativeCmSdkReactNativeV.BlurEffectStyle.ExtraLight) {
|
|
160
167
|
throw new Error(`Invalid blurEffectStyle: ${blurStyle}`);
|
|
161
168
|
}
|
|
162
|
-
if (_reactNative.Platform.OS === 'android') {
|
|
163
|
-
console.warn('[cm-sdk-react-native-v3] Android native SDK currently ignores blur backgrounds; using dimmed.');
|
|
164
|
-
}
|
|
165
169
|
return {
|
|
166
170
|
type,
|
|
167
|
-
blurEffectStyle: blurStyle
|
|
171
|
+
blurEffectStyle: blurStyle,
|
|
172
|
+
fallbackColor: normalizeColor(config.backgroundStyle.fallbackColor ?? 'black'),
|
|
173
|
+
fallbackOpacity: config.backgroundStyle.fallbackOpacity ?? 0.5
|
|
168
174
|
};
|
|
169
175
|
}
|
|
170
176
|
case _NativeCmSdkReactNativeV.BackgroundStyleType.None:
|
|
@@ -175,15 +181,14 @@ const normalizeWebViewConfig = config => {
|
|
|
175
181
|
throw new Error(`Invalid backgroundStyle type: ${config.backgroundStyle.type}`);
|
|
176
182
|
}
|
|
177
183
|
})();
|
|
178
|
-
if (_reactNative.Platform.OS === 'android' && config.backgroundStyle) {
|
|
179
|
-
console.warn('[cm-sdk-react-native-v3] Android native SDK currently ignores backgroundStyle overrides; it always uses a dimmed background.');
|
|
180
|
-
}
|
|
181
184
|
return {
|
|
182
185
|
position,
|
|
183
186
|
customRect: config.customRect,
|
|
184
187
|
cornerRadius: config.cornerRadius ?? 5,
|
|
185
188
|
respectsSafeArea: config.respectsSafeArea ?? true,
|
|
186
189
|
allowsOrientationChanges: config.allowsOrientationChanges ?? true,
|
|
190
|
+
darkMode: config.darkMode ?? false,
|
|
191
|
+
navigationBarColor: normalizeColor(config.navigationBarColor),
|
|
187
192
|
backgroundStyle
|
|
188
193
|
};
|
|
189
194
|
};
|
|
@@ -242,9 +247,37 @@ exports.rejectAll = rejectAll;
|
|
|
242
247
|
const acceptAll = () => {
|
|
243
248
|
return CmSdkReactNativeV3.acceptAll();
|
|
244
249
|
};
|
|
250
|
+
exports.acceptAll = acceptAll;
|
|
251
|
+
const setAutomaticConsentUpdatesEnabled = enabled => {
|
|
252
|
+
return getOptionalNativeMethod('setAutomaticConsentUpdatesEnabled')(enabled);
|
|
253
|
+
};
|
|
254
|
+
exports.setAutomaticConsentUpdatesEnabled = setAutomaticConsentUpdatesEnabled;
|
|
255
|
+
const updateThirdPartyConsent = () => {
|
|
256
|
+
return getOptionalNativeMethod('updateThirdPartyConsent')();
|
|
257
|
+
};
|
|
258
|
+
exports.updateThirdPartyConsent = updateThirdPartyConsent;
|
|
259
|
+
const configureAutomaticFirebaseConsentUpdates = enabled => {
|
|
260
|
+
return getOptionalNativeMethod('configureAutomaticFirebaseConsentUpdates')(enabled);
|
|
261
|
+
};
|
|
262
|
+
exports.configureAutomaticFirebaseConsentUpdates = configureAutomaticFirebaseConsentUpdates;
|
|
263
|
+
const setAutomaticFirebaseConsentUpdatesEnabled = enabled => {
|
|
264
|
+
return getOptionalNativeMethod('setAutomaticFirebaseConsentUpdatesEnabled')(enabled);
|
|
265
|
+
};
|
|
266
|
+
exports.setAutomaticFirebaseConsentUpdatesEnabled = setAutomaticFirebaseConsentUpdatesEnabled;
|
|
267
|
+
const isAutomaticFirebaseConsentUpdatesEnabled = () => {
|
|
268
|
+
return getOptionalNativeMethod('isAutomaticFirebaseConsentUpdatesEnabled')();
|
|
269
|
+
};
|
|
270
|
+
exports.isAutomaticFirebaseConsentUpdatesEnabled = isAutomaticFirebaseConsentUpdatesEnabled;
|
|
271
|
+
const updateFirebaseConsent = () => {
|
|
272
|
+
return getOptionalNativeMethod('updateFirebaseConsent')();
|
|
273
|
+
};
|
|
274
|
+
exports.updateFirebaseConsent = updateFirebaseConsent;
|
|
275
|
+
const isFirebaseAnalyticsAvailable = () => {
|
|
276
|
+
return getOptionalNativeMethod('isFirebaseAnalyticsAvailable')();
|
|
277
|
+
};
|
|
245
278
|
|
|
246
279
|
// Re-export types for consumer convenience
|
|
247
|
-
exports.
|
|
280
|
+
exports.isFirebaseAnalyticsAvailable = isFirebaseAnalyticsAvailable;
|
|
248
281
|
/**
|
|
249
282
|
* Helper factory to build strongly-typed background styles.
|
|
250
283
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_NativeCmSdkReactNativeV","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LINKING_ERROR","Platform","select","ios","CmSdkReactNativeV3","NativeCmSdkReactNativeV3","NativeModules","Proxy","Error","eventEmitter","NativeEventEmitter","addConsentListener","callback","addListener","event","consent","jsonObject","exports","addShowConsentLayerListener","addCloseConsentLayerListener","addErrorListener","error","addClickLinkListener","url","addATTStatusChangeListener","setUrlConfig","config","setWebViewConfig","normalized","normalizeWebViewConfig","setATTStatus","status","allowed","Set","ATTStatus","NotDetermined","Restricted","Denied","Authorized","checkAndOpen","jumpToSettings","forceOpen","getUserStatus","isConsentRequired","position","WebViewPosition","FullScreen","allowedPositions","HalfScreenTop","HalfScreenBottom","Custom","includes","customRect","OS","console","warn","backgroundStyle","type","BackgroundStyleType","Dimmed","color","normalizeColor","opacity","Color","Blur","blurStyle","blurEffectStyle","BlurEffectStyle","Dark","Light","ExtraLight","None","cornerRadius","respectsSafeArea","allowsOrientationChanges","undefined","processed","processColor","getStatusForPurpose","purposeId","getStatusForVendor","vendorId","getGoogleConsentModeStatus","exportCMPInfo","importCMPInfo","cmpString","resetConsentManagementData","acceptVendors","vendors","rejectVendors","acceptPurposes","purposes","updatePurpose","rejectPurposes","updateVendor","rejectAll","acceptAll","BackgroundStyle","dimmed","blur","none","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_NativeCmSdkReactNativeV","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LINKING_ERROR","Platform","select","ios","CmSdkReactNativeV3","NativeCmSdkReactNativeV3","NativeModules","Proxy","Error","eventEmitter","NativeEventEmitter","getOptionalNativeMethod","methodName","method","String","OS","bind","addConsentListener","callback","addListener","event","consent","jsonObject","exports","addShowConsentLayerListener","addCloseConsentLayerListener","addErrorListener","error","addClickLinkListener","url","addATTStatusChangeListener","setUrlConfig","config","setWebViewConfig","normalized","normalizeWebViewConfig","setATTStatus","status","allowed","Set","ATTStatus","NotDetermined","Restricted","Denied","Authorized","checkAndOpen","jumpToSettings","forceOpen","getUserStatus","isConsentRequired","position","WebViewPosition","FullScreen","allowedPositions","HalfScreenTop","HalfScreenBottom","Custom","includes","customRect","console","warn","backgroundStyle","type","BackgroundStyleType","Dimmed","color","normalizeColor","opacity","Color","Blur","blurStyle","blurEffectStyle","BlurEffectStyle","Dark","Light","ExtraLight","fallbackColor","fallbackOpacity","None","cornerRadius","respectsSafeArea","allowsOrientationChanges","darkMode","navigationBarColor","undefined","processed","processColor","getStatusForPurpose","purposeId","getStatusForVendor","vendorId","getGoogleConsentModeStatus","exportCMPInfo","importCMPInfo","cmpString","resetConsentManagementData","acceptVendors","vendors","rejectVendors","acceptPurposes","purposes","updatePurpose","rejectPurposes","updateVendor","rejectAll","acceptAll","setAutomaticConsentUpdatesEnabled","enabled","updateThirdPartyConsent","configureAutomaticFirebaseConsentUpdates","setAutomaticFirebaseConsentUpdatesEnabled","isAutomaticFirebaseConsentUpdatesEnabled","updateFirebaseConsent","isFirebaseAnalyticsAvailable","BackgroundStyle","dimmed","blur","none","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","WebViewPosition","BackgroundStyleType","BlurEffectStyle","ATTStatus","CmSdkReactNativeV3"],"sourceRoot":"../../src","sources":["NativeCmSdkReactNativeV3.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,cAAc;;AAE5C;;AAoBA;;
|
|
1
|
+
{"version":3,"names":["NativeModules","WebViewPosition","BackgroundStyleType","BlurEffectStyle","ATTStatus","CmSdkReactNativeV3"],"sourceRoot":"../../src","sources":["NativeCmSdkReactNativeV3.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,cAAc;;AAE5C;;AAoBA;;AAeA,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAc3B,WAAYC,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAO/B,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAM3B,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AA4FrB,MAAM;EAAEC;AAAmB,CAAC,GAAGL,aAAa;AAE5C,eAAeK,kBAAkB","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import NativeCmSdkReactNativeV3, { WebViewPosition, BackgroundStyleType, BlurEff
|
|
|
5
5
|
|
|
6
6
|
// Re-export enums/constants for consumers
|
|
7
7
|
export { WebViewPosition, BackgroundStyleType, BlurEffectStyle, ATTStatus };
|
|
8
|
-
const LINKING_ERROR = `The package '
|
|
8
|
+
const LINKING_ERROR = `The package 'cm-sdk-react-native-v3' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
9
9
|
ios: "- You have run 'pod install'\n",
|
|
10
10
|
default: ''
|
|
11
11
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
@@ -15,6 +15,13 @@ const CmSdkReactNativeV3 = NativeCmSdkReactNativeV3 ?? NativeModules.CmSdkReactN
|
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
17
|
const eventEmitter = new NativeEventEmitter(CmSdkReactNativeV3);
|
|
18
|
+
const getOptionalNativeMethod = methodName => {
|
|
19
|
+
const method = CmSdkReactNativeV3[methodName];
|
|
20
|
+
if (typeof method !== 'function') {
|
|
21
|
+
throw new Error(`[cm-sdk-react-native-v3] ${String(methodName)} is not available on ${Platform.OS}.`);
|
|
22
|
+
}
|
|
23
|
+
return method.bind(CmSdkReactNativeV3);
|
|
24
|
+
};
|
|
18
25
|
export const addConsentListener = callback => {
|
|
19
26
|
return eventEmitter.addListener('didReceiveConsent', event => {
|
|
20
27
|
callback(event.consent, event.jsonObject);
|
|
@@ -84,7 +91,7 @@ const normalizeWebViewConfig = config => {
|
|
|
84
91
|
throw new Error('customRect is required when position is "custom"');
|
|
85
92
|
}
|
|
86
93
|
if (Platform.OS === 'android') {
|
|
87
|
-
console.warn('[cm-sdk-react-native-v3] Android native SDK
|
|
94
|
+
console.warn('[cm-sdk-react-native-v3] Android native SDK uses width/height/gravity for custom positioning, so RN customRect falls back to full screen.');
|
|
88
95
|
}
|
|
89
96
|
}
|
|
90
97
|
const backgroundStyle = (() => {
|
|
@@ -117,12 +124,11 @@ const normalizeWebViewConfig = config => {
|
|
|
117
124
|
if (blurStyle !== BlurEffectStyle.Dark && blurStyle !== BlurEffectStyle.Light && blurStyle !== BlurEffectStyle.ExtraLight) {
|
|
118
125
|
throw new Error(`Invalid blurEffectStyle: ${blurStyle}`);
|
|
119
126
|
}
|
|
120
|
-
if (Platform.OS === 'android') {
|
|
121
|
-
console.warn('[cm-sdk-react-native-v3] Android native SDK currently ignores blur backgrounds; using dimmed.');
|
|
122
|
-
}
|
|
123
127
|
return {
|
|
124
128
|
type,
|
|
125
|
-
blurEffectStyle: blurStyle
|
|
129
|
+
blurEffectStyle: blurStyle,
|
|
130
|
+
fallbackColor: normalizeColor(config.backgroundStyle.fallbackColor ?? 'black'),
|
|
131
|
+
fallbackOpacity: config.backgroundStyle.fallbackOpacity ?? 0.5
|
|
126
132
|
};
|
|
127
133
|
}
|
|
128
134
|
case BackgroundStyleType.None:
|
|
@@ -133,15 +139,14 @@ const normalizeWebViewConfig = config => {
|
|
|
133
139
|
throw new Error(`Invalid backgroundStyle type: ${config.backgroundStyle.type}`);
|
|
134
140
|
}
|
|
135
141
|
})();
|
|
136
|
-
if (Platform.OS === 'android' && config.backgroundStyle) {
|
|
137
|
-
console.warn('[cm-sdk-react-native-v3] Android native SDK currently ignores backgroundStyle overrides; it always uses a dimmed background.');
|
|
138
|
-
}
|
|
139
142
|
return {
|
|
140
143
|
position,
|
|
141
144
|
customRect: config.customRect,
|
|
142
145
|
cornerRadius: config.cornerRadius ?? 5,
|
|
143
146
|
respectsSafeArea: config.respectsSafeArea ?? true,
|
|
144
147
|
allowsOrientationChanges: config.allowsOrientationChanges ?? true,
|
|
148
|
+
darkMode: config.darkMode ?? false,
|
|
149
|
+
navigationBarColor: normalizeColor(config.navigationBarColor),
|
|
145
150
|
backgroundStyle
|
|
146
151
|
};
|
|
147
152
|
};
|
|
@@ -189,6 +194,27 @@ export const rejectAll = () => {
|
|
|
189
194
|
export const acceptAll = () => {
|
|
190
195
|
return CmSdkReactNativeV3.acceptAll();
|
|
191
196
|
};
|
|
197
|
+
export const setAutomaticConsentUpdatesEnabled = enabled => {
|
|
198
|
+
return getOptionalNativeMethod('setAutomaticConsentUpdatesEnabled')(enabled);
|
|
199
|
+
};
|
|
200
|
+
export const updateThirdPartyConsent = () => {
|
|
201
|
+
return getOptionalNativeMethod('updateThirdPartyConsent')();
|
|
202
|
+
};
|
|
203
|
+
export const configureAutomaticFirebaseConsentUpdates = enabled => {
|
|
204
|
+
return getOptionalNativeMethod('configureAutomaticFirebaseConsentUpdates')(enabled);
|
|
205
|
+
};
|
|
206
|
+
export const setAutomaticFirebaseConsentUpdatesEnabled = enabled => {
|
|
207
|
+
return getOptionalNativeMethod('setAutomaticFirebaseConsentUpdatesEnabled')(enabled);
|
|
208
|
+
};
|
|
209
|
+
export const isAutomaticFirebaseConsentUpdatesEnabled = () => {
|
|
210
|
+
return getOptionalNativeMethod('isAutomaticFirebaseConsentUpdatesEnabled')();
|
|
211
|
+
};
|
|
212
|
+
export const updateFirebaseConsent = () => {
|
|
213
|
+
return getOptionalNativeMethod('updateFirebaseConsent')();
|
|
214
|
+
};
|
|
215
|
+
export const isFirebaseAnalyticsAvailable = () => {
|
|
216
|
+
return getOptionalNativeMethod('isFirebaseAnalyticsAvailable')();
|
|
217
|
+
};
|
|
192
218
|
|
|
193
219
|
// Re-export types for consumer convenience
|
|
194
220
|
|