From 90a4c939250d3e4ddeac3d88392464511c21a8d1 Mon Sep 17 00:00:00 2001 From: Sharif Mahmoud Date: Wed, 21 Jan 2026 18:24:30 +0400 Subject: [PATCH 1/3] Update RNUsercentricsModuleSpec.kt --- .../reactnative/RNUsercentricsModuleSpec.kt | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsModuleSpec.kt b/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsModuleSpec.kt index 0e5672b..6051bbf 100644 --- a/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsModuleSpec.kt +++ b/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsModuleSpec.kt @@ -55,7 +55,7 @@ abstract class RNUsercentricsModuleSpec internal constructor(context: ReactAppli abstract fun getABTestingVariant(promise: Promise) @ReactMethod - abstract fun setCMPId(id: Int) + abstract fun setCMPId(id: Double) @ReactMethod abstract fun setABTestingVariant(variant: String) @@ -64,34 +64,34 @@ abstract class RNUsercentricsModuleSpec internal constructor(context: ReactAppli abstract fun changeLanguage(language: String, promise: Promise) @ReactMethod - abstract fun acceptAll(consentType: Int, promise: Promise) + abstract fun acceptAll(consentType: Double, promise: Promise) @ReactMethod - abstract fun acceptAllForTCF(fromLayer: Int, consentType: Int, promise: Promise) + abstract fun acceptAllForTCF(fromLayer: Double, consentType: Double, promise: Promise) @ReactMethod - abstract fun denyAll(consentType: Int, promise: Promise) + abstract fun denyAll(consentType: Double, promise: Promise) @ReactMethod - abstract fun denyAllForTCF(fromLayer: Int, consentType: Int, unsavedPurposeLIDecisions: ReadableArray, promise: Promise) + abstract fun denyAllForTCF(fromLayer: Double, consentType: Double, unsavedPurposeLIDecisions: ReadableArray, promise: Promise) @ReactMethod - abstract fun saveDecisions(decisions: ReadableArray, consentType: Int, promise: Promise) + abstract fun saveDecisions(decisions: ReadableArray, consentType: Double, promise: Promise) @ReactMethod abstract fun saveDecisionsForTCF( tcfDecisions: ReadableMap, - fromLayer: Int, + fromLayer: Double, saveDecisions: ReadableArray, - consentType: Int, + consentType: Double, promise: Promise ) @ReactMethod - abstract fun saveOptOutForCCPA(isOptedOut: Boolean, consentType: Int, promise: Promise) + abstract fun saveOptOutForCCPA(isOptedOut: Boolean, consentType: Double, promise: Promise) @ReactMethod - abstract fun track(event: Int) + abstract fun track(event: Double) companion object { const val NAME = "RNUsercentricsModule" From 840aafaee59c465e2f7fd51569c9f5471e83fd0b Mon Sep 17 00:00:00 2001 From: Sharif Mahmoud Date: Wed, 21 Jan 2026 18:26:57 +0400 Subject: [PATCH 2/3] Update RNUsercentricsModule.kt --- .../reactnative/RNUsercentricsModule.kt | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsModule.kt b/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsModule.kt index ebac0dd..7f85c44 100644 --- a/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsModule.kt +++ b/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsModule.kt @@ -95,8 +95,8 @@ internal class RNUsercentricsModule( } @ReactMethod - override fun setCMPId(id: Int) { - usercentricsProxy.instance.setCMPId(id) + override fun setCMPId(id: Double) { + usercentricsProxy.instance.setCMPId(id.toInt()) } @ReactMethod @@ -131,37 +131,37 @@ internal class RNUsercentricsModule( } @ReactMethod - override fun acceptAllForTCF(fromLayer: Int, consentType: Int, promise: Promise) { + override fun acceptAllForTCF(fromLayer: Double, consentType: Double, promise: Promise) { promise.resolve( usercentricsProxy.instance.acceptAllForTCF( - TCFDecisionUILayer.values()[fromLayer], UsercentricsConsentType.values()[consentType] + TCFDecisionUILayer.values()[fromLayer.toInt()], UsercentricsConsentType.values()[consentType.toInt()] ).toWritableArray() ) } @ReactMethod - override fun acceptAll(consentType: Int, promise: Promise) { + override fun acceptAll(consentType: Double, promise: Promise) { promise.resolve( usercentricsProxy.instance.acceptAll( - UsercentricsConsentType.values()[consentType] + UsercentricsConsentType.values()[consentType.toInt()] ).toWritableArray() ) } @ReactMethod - override fun denyAllForTCF(fromLayer: Int, consentType: Int, unsavedPurposeLIDecisions: ReadableArray, promise: Promise) { + override fun denyAllForTCF(fromLayer: Double, consentType: Double, unsavedPurposeLIDecisions: ReadableArray, promise: Promise) { promise.resolve( usercentricsProxy.instance.denyAllForTCF( - TCFDecisionUILayer.values()[fromLayer], UsercentricsConsentType.values()[consentType], unsavedPurposeLIDecisions.deserializePurposeLIDecisionsMap() + TCFDecisionUILayer.values()[fromLayer.toInt()], UsercentricsConsentType.values()[consentType.toInt()], unsavedPurposeLIDecisions.deserializePurposeLIDecisionsMap() ).toWritableArray() ) } @ReactMethod - override fun denyAll(consentType: Int, promise: Promise) { + override fun denyAll(consentType: Double, promise: Promise) { promise.resolve( usercentricsProxy.instance.denyAll( - UsercentricsConsentType.values()[consentType] + UsercentricsConsentType.values()[consentType.toInt()] ).toWritableArray() ) } @@ -169,42 +169,42 @@ internal class RNUsercentricsModule( @ReactMethod override fun saveDecisionsForTCF( tcfDecisions: ReadableMap, - fromLayer: Int, + fromLayer: Double, saveDecisions: ReadableArray, - consentType: Int, + consentType: Double, promise: Promise ) { promise.resolve( usercentricsProxy.instance.saveDecisionsForTCF( tcfDecisions.deserializeTCFUserDecisions(), - TCFDecisionUILayer.values()[fromLayer], + TCFDecisionUILayer.values()[fromLayer.toInt()], saveDecisions.deserializeUserDecision(), - UsercentricsConsentType.values()[consentType] + UsercentricsConsentType.values()[consentType.toInt()] ).toWritableArray() ) } @ReactMethod - override fun saveDecisions(decisions: ReadableArray, consentType: Int, promise: Promise) { + override fun saveDecisions(decisions: ReadableArray, consentType: Double, promise: Promise) { promise.resolve( usercentricsProxy.instance.saveDecisions( - decisions.deserializeUserDecision(), UsercentricsConsentType.values()[consentType] + decisions.deserializeUserDecision(), UsercentricsConsentType.values()[consentType.toInt()] ).toWritableArray() ) } @ReactMethod - override fun saveOptOutForCCPA(isOptedOut: Boolean, consentType: Int, promise: Promise) { + override fun saveOptOutForCCPA(isOptedOut: Boolean, consentType: Double, promise: Promise) { promise.resolve( usercentricsProxy.instance.saveOptOutForCCPA( - isOptedOut, UsercentricsConsentType.values()[consentType] + isOptedOut, UsercentricsConsentType.values()[consentType.toInt()] ).toWritableArray() ) } @ReactMethod - override fun track(event: Int) { - usercentricsProxy.instance.track(UsercentricsAnalyticsEventType.values()[event]) + override fun track(event: Double) { + usercentricsProxy.instance.track(UsercentricsAnalyticsEventType.values()[event.toInt()]) } @ReactMethod From 935755be90f9499a9beb56b911c73bab0de1d421 Mon Sep 17 00:00:00 2001 From: Bruno Souza Date: Thu, 19 Feb 2026 16:07:02 -0300 Subject: [PATCH 3/3] fix: type mismatch in turbo mode --- ios/RNUsercentricsModule.mm | 24 +++++++++---------- ios/RNUsercentricsModule.swift | 44 +++++++++++++++++----------------- ios/RNUsercentricsModuleSpec.h | 24 +++++++++---------- 3 files changed, 46 insertions(+), 46 deletions(-) diff --git a/ios/RNUsercentricsModule.mm b/ios/RNUsercentricsModule.mm index 2c6da79..3a811ce 100644 --- a/ios/RNUsercentricsModule.mm +++ b/ios/RNUsercentricsModule.mm @@ -60,47 +60,47 @@ @interface RCT_EXTERN_MODULE(RNUsercentricsModule, NSObject) resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) -RCT_EXTERN_METHOD(acceptAllForTCF:(NSInteger *)fromLayer - consentType:(NSInteger)consentType +RCT_EXTERN_METHOD(acceptAllForTCF:(double)fromLayer + consentType:(double)consentType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) -RCT_EXTERN_METHOD(acceptAll:(NSInteger *)consentType +RCT_EXTERN_METHOD(acceptAll:(double)consentType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) -RCT_EXTERN_METHOD(denyAllForTCF:(NSInteger *)fromLayer - consentType:(NSInteger)consentType +RCT_EXTERN_METHOD(denyAllForTCF:(double)fromLayer + consentType:(double)consentType unsavedPurposeLIDecisions:(NSArray)unsavedPurposeLIDecisions resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) -RCT_EXTERN_METHOD(denyAll:(NSInteger *)consentType +RCT_EXTERN_METHOD(denyAll:(double)consentType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) RCT_EXTERN_METHOD(saveDecisionsForTCF:(NSDictionary *)tcfDecisions - fromLayer:(NSInteger)fromLayer + fromLayer:(double)fromLayer serviceDecisions:(NSArray)serviceDecisions - consentType:(NSInteger)consentType + consentType:(double)consentType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) RCT_EXTERN_METHOD(saveDecisions:(NSArray)serviceDecisions - consentType:(NSInteger)consentType + consentType:(double)consentType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) RCT_EXTERN_METHOD(saveOptOutForCCPA:(BOOL *)isOptedOut - consentType:(NSInteger)consentType + consentType:(double)consentType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) -RCT_EXTERN_METHOD(setCMPId:(NSInteger *)id) +RCT_EXTERN_METHOD(setCMPId:(double)id) RCT_EXTERN_METHOD(setABTestingVariant:(NSString *)variant) -RCT_EXTERN_METHOD(track:(NSInteger *)event) +RCT_EXTERN_METHOD(track:(double)event) RCT_EXTERN_METHOD(clearUserSession:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) diff --git a/ios/RNUsercentricsModule.swift b/ios/RNUsercentricsModule.swift index d23ba79..359e38c 100644 --- a/ios/RNUsercentricsModule.swift +++ b/ios/RNUsercentricsModule.swift @@ -81,7 +81,7 @@ class RNUsercentricsModule: NSObject { } } - @objc func setCMPId(_ id: Int) -> Void { + @objc func setCMPId(_ id: Double) -> Void { usercentricsManager.setCMPId(id: Int32(id)) } @@ -139,24 +139,24 @@ class RNUsercentricsModule: NSObject { } } - @objc func acceptAllForTCF(_ fromLayer: Int, - consentType: Int, + @objc func acceptAllForTCF(_ fromLayer: Double, + consentType: Double, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void { - let services = usercentricsManager.acceptAllForTCF(fromLayer: TCFDecisionUILayer.initialize(from: fromLayer), - consentType: UsercentricsConsentType.initialize(from: consentType)) + let services = usercentricsManager.acceptAllForTCF(fromLayer: TCFDecisionUILayer.initialize(from: Int(fromLayer)), + consentType: UsercentricsConsentType.initialize(from: Int(consentType))) resolve(services.toListOfDictionary()) } - @objc func acceptAll(_ consentType: Int, + @objc func acceptAll(_ consentType: Double, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void { - let services = usercentricsManager.acceptAll(consentType: UsercentricsConsentType.initialize(from: consentType)) + let services = usercentricsManager.acceptAll(consentType: UsercentricsConsentType.initialize(from: Int(consentType))) resolve(services.toListOfDictionary()) } - @objc func denyAllForTCF(_ fromLayer: Int, - consentType: Int, + @objc func denyAllForTCF(_ fromLayer: Double, + consentType: Double, unsavedPurposeLIDecisions: [NSDictionary], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void { @@ -170,51 +170,51 @@ class RNUsercentricsModule: NSObject { } } } - let services = usercentricsManager.denyAllForTCF(fromLayer: .initialize(from: fromLayer), consentType: .initialize(from: consentType), unsavedPurposeLIDecisions: decisions) + let services = usercentricsManager.denyAllForTCF(fromLayer: .initialize(from: Int(fromLayer)), consentType: .initialize(from: Int(consentType)), unsavedPurposeLIDecisions: decisions) resolve(services.toListOfDictionary()) } - @objc func denyAll(_ consentType: Int, + @objc func denyAll(_ consentType: Double, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void { - let services = usercentricsManager.denyAll(consentType: .initialize(from: consentType)) + let services = usercentricsManager.denyAll(consentType: .initialize(from: Int(consentType))) resolve(services.toListOfDictionary()) } @objc func saveDecisionsForTCF(_ tcfDecisions: NSDictionary, - fromLayer: Int, + fromLayer: Double, serviceDecisions: [NSDictionary], - consentType: Int, + consentType: Double, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void { let services = usercentricsManager.saveDecisionsForTCF( tcfDecisions: TCFUserDecisions(from: tcfDecisions), - fromLayer: .initialize(from: fromLayer), + fromLayer: .initialize(from: Int(fromLayer)), serviceDecisions: serviceDecisions.compactMap { UserDecision(from: $0) }, - consentType: .initialize(from: consentType)) + consentType: .initialize(from: Int(consentType))) resolve(services.toListOfDictionary()) } @objc func saveDecisions(_ decisions: [NSDictionary], - consentType: Int, + consentType: Double, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void { - let services = usercentricsManager.saveDecisions(decisions: decisions.compactMap { UserDecision.init(from: $0) }, consentType: .initialize(from: consentType)) + let services = usercentricsManager.saveDecisions(decisions: decisions.compactMap { UserDecision.init(from: $0) }, consentType: .initialize(from: Int(consentType))) resolve(services.toListOfDictionary()) } @objc func saveOptOutForCCPA(_ isOptedOut: Bool, - consentType: Int, + consentType: Double, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void { - let services = usercentricsManager.saveOptOutForCCPA(isOptedOut: isOptedOut, consentType: .initialize(from: consentType)) + let services = usercentricsManager.saveOptOutForCCPA(isOptedOut: isOptedOut, consentType: .initialize(from: Int(consentType))) resolve(services.toListOfDictionary()) } - @objc func track(_ event: Int) -> Void { - guard let usercentricsAnalyticsEventType = UsercentricsAnalyticsEventType.initialize(from: event) else { return } + @objc func track(_ event: Double) -> Void { + guard let usercentricsAnalyticsEventType = UsercentricsAnalyticsEventType.initialize(from: Int(event)) else { return } usercentricsManager.track(event: usercentricsAnalyticsEventType) } diff --git a/ios/RNUsercentricsModuleSpec.h b/ios/RNUsercentricsModuleSpec.h index 93a2aea..234562f 100644 --- a/ios/RNUsercentricsModuleSpec.h +++ b/ios/RNUsercentricsModuleSpec.h @@ -52,51 +52,51 @@ NS_ASSUME_NONNULL_BEGIN reject:(RCTPromiseRejectBlock)reject; // Configuration Setters -- (void)setCMPId:(NSInteger)cmpId; +- (void)setCMPId:(double)cmpId; - (void)setABTestingVariant:(NSString *)variant; - (void)changeLanguage:(NSString *)language resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject; // Consent Actions -- (void)acceptAll:(NSInteger)consentType +- (void)acceptAll:(double)consentType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject; -- (void)acceptAllForTCF:(NSInteger)fromLayer - consentType:(NSInteger)consentType +- (void)acceptAllForTCF:(double)fromLayer + consentType:(double)consentType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject; -- (void)denyAll:(NSInteger)consentType +- (void)denyAll:(double)consentType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject; -- (void)denyAllForTCF:(NSInteger)fromLayer - consentType:(NSInteger)consentType +- (void)denyAllForTCF:(double)fromLayer + consentType:(double)consentType unsavedPurposeLIDecisions:(NSArray *)unsavedPurposeLIDecisions resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject; - (void)saveDecisions:(NSArray *)decisions - consentType:(NSInteger)consentType + consentType:(double)consentType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject; - (void)saveDecisionsForTCF:(NSDictionary *)tcfDecisions - fromLayer:(NSInteger)fromLayer + fromLayer:(double)fromLayer saveDecisions:(NSArray *)saveDecisions - consentType:(NSInteger)consentType + consentType:(double)consentType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject; - (void)saveOptOutForCCPA:(BOOL)isOptedOut - consentType:(NSInteger)consentType + consentType:(double)consentType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject; // Analytics -- (void)track:(NSInteger)event; +- (void)track:(double)event; @end