From 731ffcd7f05ca29d9cab6e1896f26be317d1134d Mon Sep 17 00:00:00 2001 From: OleS Date: Tue, 27 Jan 2026 01:34:13 +0200 Subject: [PATCH 1/2] - Fix: Added configurable ApiKey and Environment parameters --- CHANGELOG.md | 3 +++ .../virtusize/android/network/VirtusizeApi.kt | 8 +++++++ .../java/com/virtusize/android/Virtusize.kt | 13 ++++++++++++ .../com/virtusize/android/VirtusizeImpl.kt | 21 +++++++++++++++++++ 4 files changed, 45 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f4f7fd7..c88b5278 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +### Changes: +- Fix: Added configurable ApiKey and Environment parameters +- ### 2.12.17 - Fix: fixed issue with shoe item recommended size diff --git a/virtusize-core/src/main/java/com/virtusize/android/network/VirtusizeApi.kt b/virtusize-core/src/main/java/com/virtusize/android/network/VirtusizeApi.kt index ccae7efd..4d153025 100644 --- a/virtusize-core/src/main/java/com/virtusize/android/network/VirtusizeApi.kt +++ b/virtusize-core/src/main/java/com/virtusize/android/network/VirtusizeApi.kt @@ -92,6 +92,14 @@ object VirtusizeApi { currentUserId = userId } + fun setApiKey(newApiKey: String) { + apiKey = newApiKey + } + + fun setEnvironment(env: VirtusizeEnvironment) { + environment = env + } + fun setStoreId(storeId: StoreId) { currentStoreId = storeId } diff --git a/virtusize/src/main/java/com/virtusize/android/Virtusize.kt b/virtusize/src/main/java/com/virtusize/android/Virtusize.kt index f2bd683b..d15a7596 100644 --- a/virtusize/src/main/java/com/virtusize/android/Virtusize.kt +++ b/virtusize/src/main/java/com/virtusize/android/Virtusize.kt @@ -1,6 +1,7 @@ package com.virtusize.android import android.content.Context +import com.virtusize.android.data.local.VirtusizeEnvironment import com.virtusize.android.data.local.VirtusizeError import com.virtusize.android.data.local.VirtusizeLanguage import com.virtusize.android.data.local.VirtusizeMessageHandler @@ -79,6 +80,18 @@ interface Virtusize { */ fun setUserId(userId: String) + /** + * Use this function to set up the apiKey in the app when the user changes country + * @param apiKey unique store Api Key + */ + fun setApiKey(newApiKey: String) + + /** + * Use this function to change API environment + * @param env unique API environment + */ + fun setEnvironment(env: VirtusizeEnvironment) + /** * Registers a message handler. * The registered message handlers will receive Virtusize errors, events, and the close action for Fit Illustrator. diff --git a/virtusize/src/main/java/com/virtusize/android/VirtusizeImpl.kt b/virtusize/src/main/java/com/virtusize/android/VirtusizeImpl.kt index 6212cc87..d32802c4 100644 --- a/virtusize/src/main/java/com/virtusize/android/VirtusizeImpl.kt +++ b/virtusize/src/main/java/com/virtusize/android/VirtusizeImpl.kt @@ -4,6 +4,7 @@ import android.content.Context import androidx.lifecycle.AtomicReference import com.virtusize.android.data.local.SizeComparisonRecommendedSize import com.virtusize.android.data.local.SizeRecommendationType +import com.virtusize.android.data.local.VirtusizeEnvironment import com.virtusize.android.data.local.VirtusizeError import com.virtusize.android.data.local.VirtusizeErrorType import com.virtusize.android.data.local.VirtusizeEvent @@ -318,6 +319,26 @@ internal class VirtusizeImpl( } } + /** + * @see Virtusize.setApiKey + */ + override fun setApiKey(apiKey: String) { + VirtusizeApi.setApiKey(apiKey) + virtusizeViews.forEach { virtusizeView -> + virtusizeView.virtusizeParams.apiKey = apiKey + } + } + + /** + * @see Virtusize.setEnvironment + */ + override fun setEnvironment(env: VirtusizeEnvironment) { + VirtusizeApi.setEnvironment(env) + virtusizeViews.forEach { virtusizeView -> + virtusizeView.virtusizeParams.environment = env + } + } + /** * @see Virtusize.registerMessageHandler */ From 4cfa1aaa20fccaa51e47a33a9b416b31dfeeb37f Mon Sep 17 00:00:00 2001 From: OleS Date: Tue, 27 Jan 2026 01:41:40 +0200 Subject: [PATCH 2/2] Merged fix params.externalUserId Flutter issue --- .../java/com/virtusize/android/flutter/VirtusizeFlutterImpl.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterImpl.kt b/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterImpl.kt index a49bb8e1..3d5375ab 100644 --- a/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterImpl.kt +++ b/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterImpl.kt @@ -313,7 +313,7 @@ internal class VirtusizeFlutterImpl( */ override fun setUserId(userId: String) { VirtusizeApi.setUserId(userId) -// params.externalUserId = userId + params.externalUserId = userId virtusizeViews.forEach { virtusizeView -> virtusizeView.virtusizeParams.externalUserId = userId }