From c76f83a0e53ab0cbedd313e660beaffb5334fc33 Mon Sep 17 00:00:00 2001 From: Felipe Saez Date: Mon, 6 Jul 2026 11:32:27 +0200 Subject: [PATCH] feat: add sdkPath and apiPath to DidomiInitializeParameters --- android/build.gradle | 2 +- .../kotlin/io/didomi/fluttersdk/DidomiPlugin.kt | 2 ++ ios/didomi_sdk.podspec | 2 +- .../Sources/DidomiSwift/SwiftDidomiSdkPlugin.swift | 4 +++- lib/parameters/didomi_initialize_parameters.dart | 14 +++++++++++++- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index b31c1dd..7d8b5e8 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -64,7 +64,7 @@ android { dependencies { implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version") - implementation("io.didomi.sdk:android:2.44.0") + implementation("io.didomi.sdk:android:2.45.0") implementation("androidx.multidex:multidex:2.0.1") implementation("com.google.code.gson:gson:2.13.2") } diff --git a/android/src/main/kotlin/io/didomi/fluttersdk/DidomiPlugin.kt b/android/src/main/kotlin/io/didomi/fluttersdk/DidomiPlugin.kt index f113631..0fcaa86 100644 --- a/android/src/main/kotlin/io/didomi/fluttersdk/DidomiPlugin.kt +++ b/android/src/main/kotlin/io/didomi/fluttersdk/DidomiPlugin.kt @@ -254,6 +254,8 @@ class DidomiPlugin : FlutterPlugin, MethodCallHandler, ActivityAware { countryCode = jsonDidomiInitializeParameters["countryCode"] as? String, regionCode = jsonDidomiInitializeParameters["regionCode"] as? String, isUnderage = jsonDidomiInitializeParameters["isUnderage"] as Boolean, + sdkPath = jsonDidomiInitializeParameters["sdkPath"] as? String, + apiPath = jsonDidomiInitializeParameters["apiPath"] as? String, ) Didomi.getInstance().initialize(it.application, didomiInitializeParameters) diff --git a/ios/didomi_sdk.podspec b/ios/didomi_sdk.podspec index ce1f831..851b3e6 100644 --- a/ios/didomi_sdk.podspec +++ b/ios/didomi_sdk.podspec @@ -13,7 +13,7 @@ Pod::Spec.new do |s| s.source_files = 'didomi_sdk/Sources/**/*.{swift,h,m}' s.public_header_files = 'didomi_sdk/Sources/DidomiObjC/include/**/*.h' s.dependency 'Flutter' - s.dependency 'Didomi-XCFramework', '2.44.0' + s.dependency 'Didomi-XCFramework', '2.45.0' s.platform = :ios, '13.0' # Flutter.framework does not contain a i386 slice. diff --git a/ios/didomi_sdk/Sources/DidomiSwift/SwiftDidomiSdkPlugin.swift b/ios/didomi_sdk/Sources/DidomiSwift/SwiftDidomiSdkPlugin.swift index 36f39a5..b44b0e9 100644 --- a/ios/didomi_sdk/Sources/DidomiSwift/SwiftDidomiSdkPlugin.swift +++ b/ios/didomi_sdk/Sources/DidomiSwift/SwiftDidomiSdkPlugin.swift @@ -200,7 +200,9 @@ import Didomi noticeID: jsonDidomiInitializeParameters["noticeId"] as? String, countryCode: jsonDidomiInitializeParameters["countryCode"] as? String, regionCode: jsonDidomiInitializeParameters["regionCode"] as? String, - isUnderage: jsonDidomiInitializeParameters["isUnderage"] as! Bool + isUnderage: jsonDidomiInitializeParameters["isUnderage"] as! Bool, + sdkPath: jsonDidomiInitializeParameters["sdkPath"] as? String, + apiPath: jsonDidomiInitializeParameters["apiPath"] as? String ) Didomi.shared.initialize(parameters) result(nil) diff --git a/lib/parameters/didomi_initialize_parameters.dart b/lib/parameters/didomi_initialize_parameters.dart index aae7188..4b0e526 100644 --- a/lib/parameters/didomi_initialize_parameters.dart +++ b/lib/parameters/didomi_initialize_parameters.dart @@ -47,6 +47,14 @@ class DidomiInitializeParameters { /// If set to true, the SDK will only display the underage notice (false by default). bool isUnderage = false; + /// Base URL used to load all static files (didomi_config.json, GVL, IAB vendor list). + /// Defaults to the Didomi SDK CDN if not set. Must use HTTPS. + String? sdkPath; + + /// Base URL used for all API requests (Consents API, cross-device sync, API Events). + /// Defaults to the Didomi API if not set. Must use HTTPS. + String? apiPath; + DidomiInitializeParameters( {required this.apiKey, this.localConfigurationPath, @@ -59,7 +67,9 @@ class DidomiInitializeParameters { this.androidTvEnabled = false, this.countryCode, this.regionCode, - this.isUnderage = false}); + this.isUnderage = false, + this.sdkPath, + this.apiPath}); Map toJson() => { 'apiKey': apiKey, @@ -74,5 +84,7 @@ class DidomiInitializeParameters { 'countryCode': countryCode, 'regionCode': regionCode, 'isUnderage': isUnderage, + 'sdkPath': sdkPath, + 'apiPath': apiPath, }; }