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 */ 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 }