From 3470ceab3804776cc59387e4aa1a2a5f8b4467a3 Mon Sep 17 00:00:00 2001 From: OleS Date: Tue, 25 Nov 2025 18:54:09 +0200 Subject: [PATCH] - Feature: Added Service Environment configurations --- android/build.gradle | 2 +- .../virtusize_flutter_sdk/VirtusizeFlutterConstants.kt | 1 + .../virtusize/virtusize_flutter_sdk/VirtusizeFlutterPlugin.kt | 4 ++++ ios/Classes/SwiftVirtusizeFlutterPlugin.swift | 4 ++++ ios/Classes/VirtusizeFlutterConstants.swift | 1 + ios/virtusize_flutter_sdk.podspec | 2 +- lib/src/main.dart | 4 ++++ lib/src/utils/virtusize_constants.dart | 1 + 8 files changed, 17 insertions(+), 2 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 6d86a88..2498678 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -7,7 +7,7 @@ buildscript { ext.cardview_version = "1.0.0" ext.coroutines_version = "1.5.0" ext.gradle_version = "8.7.0" - ext.virtusize_version = "2.12.9" + ext.virtusize_version = "2.12.10" repositories { google() diff --git a/android/src/main/kotlin/com/virtusize/virtusize_flutter_sdk/VirtusizeFlutterConstants.kt b/android/src/main/kotlin/com/virtusize/virtusize_flutter_sdk/VirtusizeFlutterConstants.kt index dc01b5b..0986d9e 100644 --- a/android/src/main/kotlin/com/virtusize/virtusize_flutter_sdk/VirtusizeFlutterConstants.kt +++ b/android/src/main/kotlin/com/virtusize/virtusize_flutter_sdk/VirtusizeFlutterConstants.kt @@ -28,6 +28,7 @@ internal object VirtusizeFlutterKey { const val DETAILS_PANEL_CARDS = "detailsPanelCards" const val SHOW_SNS_BUTTONS = "showSNSButtons" const val BRANCH = "branch" + const val SERVICE_ENVIRONMENT = "serviceEnvironment" const val EXTERNAL_PRODUCT_ID = "externalProductId" const val IMAGE_URL = "imageURL" const val CLOUDINARY_IMAGE_URL = "cloudinaryImageURL" diff --git a/android/src/main/kotlin/com/virtusize/virtusize_flutter_sdk/VirtusizeFlutterPlugin.kt b/android/src/main/kotlin/com/virtusize/virtusize_flutter_sdk/VirtusizeFlutterPlugin.kt index bba62b1..62e2fea 100644 --- a/android/src/main/kotlin/com/virtusize/virtusize_flutter_sdk/VirtusizeFlutterPlugin.kt +++ b/android/src/main/kotlin/com/virtusize/virtusize_flutter_sdk/VirtusizeFlutterPlugin.kt @@ -186,6 +186,10 @@ class VirtusizeFlutterPlugin: FlutterPlugin, MethodCallHandler, ActivityAware { virtusizeFlutterBuilder = virtusizeFlutterBuilder.setShowPrivacyPolicy(showPrivacyPolicy) } + call.argument(VirtusizeFlutterKey.SERVICE_ENVIRONMENT)?.let { serviceEnvironment -> + virtusizeFlutterBuilder = virtusizeFlutterBuilder.setServiceEnvironment(serviceEnvironment) + } + virtusizeFlutter = virtusizeFlutterBuilder .setPresenter(virtusizeFlutterPresenter) .build() diff --git a/ios/Classes/SwiftVirtusizeFlutterPlugin.swift b/ios/Classes/SwiftVirtusizeFlutterPlugin.swift index 1d320db..0b32fd8 100644 --- a/ios/Classes/SwiftVirtusizeFlutterPlugin.swift +++ b/ios/Classes/SwiftVirtusizeFlutterPlugin.swift @@ -98,6 +98,10 @@ public class SwiftVirtusizeFlutterPlugin: NSObject, FlutterPlugin { virtusizeBuilder = virtusizeBuilder.setShowPrivacyPolicy(showPrivacyPolicy) } + if let serviceEnvironment = arguments[VirtusizeFlutterKey.serviceEnvironment] as? Bool { + virtusizeBuilder = virtusizeBuilder.setServiceEnvironment(serviceEnvironment) + } + VirtusizeFlutter.params = virtusizeBuilder.build() result([ VirtusizeFlutterKey.virtusizeParams: arguments, diff --git a/ios/Classes/VirtusizeFlutterConstants.swift b/ios/Classes/VirtusizeFlutterConstants.swift index de46816..53a7078 100644 --- a/ios/Classes/VirtusizeFlutterConstants.swift +++ b/ios/Classes/VirtusizeFlutterConstants.swift @@ -27,6 +27,7 @@ struct VirtusizeFlutterKey { static let detailsPanelCards = "detailsPanelCards" static let showSNSButtons = "showSNSButtons" static let branch = "branch" + static let serviceEnvironment = "serviceEnvironment" static let externalProductId = "externalProductId" static let imageURL = "imageURL" static let cloudinaryImageURL = "cloudinaryImageURL" diff --git a/ios/virtusize_flutter_sdk.podspec b/ios/virtusize_flutter_sdk.podspec index 1eb3595..609c9f7 100644 --- a/ios/virtusize_flutter_sdk.podspec +++ b/ios/virtusize_flutter_sdk.podspec @@ -15,7 +15,7 @@ This SDK helps clients to integrate Virtusize’s size and fit service into thei s.source = { :path => '.' } s.source_files = 'Classes/**/*' s.dependency 'Flutter' - s.dependency 'Virtusize', '~> 2.12.16' + s.dependency 'Virtusize', '~> 2.12.17' s.static_framework = true s.platform = :ios, '14.0' diff --git a/lib/src/main.dart b/lib/src/main.dart index db950e2..82c6a42 100644 --- a/lib/src/main.dart +++ b/lib/src/main.dart @@ -122,6 +122,9 @@ class VirtusizeSDK { // By default, Virtusize shows the Privacy Policy bool? showShowPrivacyPolicy = true, + + /// The boolean value to determine whether to use or not services.virtusize.com url + bool serviceEnvironment = true, }) async { try { // [paramsData] is a map with two key-value pairs to return the Virtusize parameters and the display language from Native @@ -143,6 +146,7 @@ class VirtusizeSDK { FlutterVirtusizeKey.showSNSButtons: showSNSButtons, FlutterVirtusizeKey.branch: branch, FlutterVirtusizeKey.showPrivacyPolicy: showShowPrivacyPolicy, + FlutterVirtusizeKey.serviceEnvironment: serviceEnvironment, }); IVirtusizeSDK.instance._showPrivacyPolicy = showShowPrivacyPolicy; diff --git a/lib/src/utils/virtusize_constants.dart b/lib/src/utils/virtusize_constants.dart index 51a8c7d..3f0a14f 100644 --- a/lib/src/utils/virtusize_constants.dart +++ b/lib/src/utils/virtusize_constants.dart @@ -29,6 +29,7 @@ class FlutterVirtusizeKey { static const String detailsPanelCards = "detailsPanelCards"; static const String showSNSButtons = "showSNSButtons"; static const String branch = "branch"; + static const String serviceEnvironment = "serviceEnvironment"; static const String externalProductId = "externalProductId"; static const String imageURL = "imageURL"; static const String cloudinaryImageURL = "cloudinaryImageURL";