Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,8 @@ Future<void> main() async {
showSNSButtons: true,
// Target the specific environment branch by its name
branch: 'branch-name',
// By default, Virtusize shows the Privacy Policy
showShowPrivacyPolicy: true,
);

runApp(MyApp());
Expand All @@ -165,7 +167,7 @@ Possible argument configuration is shown in the following table:
| detailsPanelCards | List<`VSInfoCategory`> | [VSInfoCategory.generalFit, VSInfoCategory.brandSizing] | The info categories which will be display in the Product Details tab. Possible categories are: `VSInfoCategory.modelInfo`, `VSInfoCategory.generalFit`, `VSInfoCategory.brandSizing` and `VSInfoCategory.material` | No. By default, the integration displays all the possible info categories in the Product Details tab. |
| showSNSButtons | bool | true | Determines whether the integration will show the SNS buttons to the users. | No. By default, the integration disables the SNS buttons. |
| branch | String | 'branch-name' | Targets specific environment branch. | No. By default, production environment is targeted. `staging` targets staging environment. `<branch-name>` targets a specific branch. |

| setShowPrivacyPolicy | Boolean | setShowPrivacyPolicy(true) | Controls whether the privacy policy shows to users | No. By default, the privacy policy is shown |


#### (2) Load Virtusize with the Product Details
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ internal object VirtusizeFlutterMethod {
const val GET_PRIVACY_POLICY_LINK = "getPrivacyPolicyLink"
const val SEND_ORDER = "sendOrder"
const val LOAD_VIRTUSIZE = "loadVirtusize"
const val SHOW_PRIVACY_POLICY = "showPrivacyPolicy"

// Android to Flutter
const val ON_VS_EVENT = "onVSEvent"
Expand Down Expand Up @@ -39,6 +40,7 @@ internal object VirtusizeFlutterKey {
const val REC_TEXT = "recText"
const val SHOW_USER_PRODUCT_IMAGE = "showUserProductImage"
const val IS_VALID_PRODUCT = "isValidProduct"
const val SHOW_PRIVACY_POLICY = "showPrivacyPolicy"
}

internal object VirtusizeEventKey {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,10 @@ class VirtusizeFlutterPlugin: FlutterPlugin, MethodCallHandler, ActivityAware {
virtusizeFlutterBuilder = virtusizeFlutterBuilder.setBranch(branch)
}

call.argument<Boolean>(VirtusizeFlutterKey.SHOW_PRIVACY_POLICY)?.let { showPrivacyPolicy ->
virtusizeFlutterBuilder = virtusizeFlutterBuilder.setShowPrivacyPolicy(showPrivacyPolicy)
}

virtusizeFlutter = virtusizeFlutterBuilder
.setPresenter(virtusizeFlutterPresenter)
.build()
Expand Down
2 changes: 2 additions & 0 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ Future<void> main() async {
showSNSButtons: true,
// Target the specific environment branch by its name
branch: null,
// By default, Virtusize shows the Privacy Policy
showShowPrivacyPolicy: false,
);

runApp(MyApp());
Expand Down
6 changes: 5 additions & 1 deletion ios/Classes/SwiftVirtusizeFlutterPlugin.swift
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,11 @@ public class SwiftVirtusizeFlutterPlugin: NSObject, FlutterPlugin {
if let branch = arguments[VirtusizeFlutterKey.branch] as? String {
virtusizeBuilder = virtusizeBuilder.setBranch(branch)
}


if let showPrivacyPolicy = arguments[VirtusizeFlutterKey.showPrivacyPolicy] as? Bool {
virtusizeBuilder = virtusizeBuilder.setShowPrivacyPolicy(showPrivacyPolicy)
}

VirtusizeFlutter.params = virtusizeBuilder.build()
result([
VirtusizeFlutterKey.virtusizeParams: arguments,
Expand Down
1 change: 1 addition & 0 deletions ios/Classes/VirtusizeFlutterConstants.swift
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ struct VirtusizeFlutterKey {
static let recText = "recText"
static let showUserProductImage = "showUserProductImage"
static let isValidProduct = "isValidProduct"
static let showPrivacyPolicy = "showPrivacyPolicy"
}

struct VirtusizeEventKey {
Expand Down
11 changes: 10 additions & 1 deletion lib/src/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,9 @@ class VirtusizeSDK {

/// Target the specific environment branch by its name
String? branch,

// By default, Virtusize shows the Privacy Policy
bool? showShowPrivacyPolicy = true,
}) async {
try {
// [paramsData] is a map with two key-value pairs to return the Virtusize parameters and the display language from Native
Expand All @@ -139,7 +142,10 @@ class VirtusizeSDK {
}).toList(),
FlutterVirtusizeKey.showSNSButtons: showSNSButtons,
FlutterVirtusizeKey.branch: branch,
});
FlutterVirtusizeKey.showPrivacyPolicy: showShowPrivacyPolicy,
});

IVirtusizeSDK.instance._showPrivacyPolicy = showShowPrivacyPolicy;

await _loadVSText(
paramsData[FlutterVirtusizeKey.displayLanguage],
Expand Down Expand Up @@ -275,6 +281,9 @@ class IVirtusizeSDK {
late StreamController<String> _productErrorController;
Stream<String> get productErrorStream => _productErrorController.stream;

bool? _showPrivacyPolicy = true;
bool? get showPrivacyPolicy => _showPrivacyPolicy;

IVirtusizeSDK._();

/// A function to get the privacy policy link from Native
Expand Down
1 change: 1 addition & 0 deletions lib/src/utils/virtusize_constants.dart
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,5 @@ class FlutterVirtusizeKey {
static const String recText = "recText";
static const String showUserProductImage = "showUserProductImage";
static const String isValidProduct = "isValidProduct";
static const String showPrivacyPolicy = "showPrivacyPolicy";
}
4 changes: 4 additions & 0 deletions lib/src/widgets/virtusize_inpage_standard.dart
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,14 @@ class _VirtusizeInPageStandardState extends State<VirtusizeInPageStandard> {
VirtusizeServerProduct? _userProduct;
String? _topRecText;
String? _bottomRecText;
late bool _showPrivacyPolicy;

@override
void initState() {
super.initState();

_showPrivacyPolicy = IVirtusizeSDK.instance.showPrivacyPolicy ?? true;

_vsTextSubscription = IVirtusizeSDK.instance.vsTextStream.listen((vsText) {
_vsText = vsText;
});
Expand Down Expand Up @@ -207,6 +210,7 @@ class _VirtusizeInPageStandardState extends State<VirtusizeInPageStandard> {
fit: BoxFit.cover,
),
),
if(_showPrivacyPolicy)
GestureDetector(
onTap: _openPrivacyPolicyLink,
child: Text(
Expand Down