initializeSDK method

Future<Result<void>> initializeSDK(
  1. String environment
)

Implementation

Future<Result<void>> initializeSDK(String environment) async {
  // Skip SDK initialization for web platform
  if (kIsWeb) {
    print('🌐 Web platform detected - skipping Digio SDK initialization');
    return const Success(null);
  }

  if (_kycWorkflowPlugin != null) {
    return const Success(null);
  }

  try {
    var digioConfig = DigioConfig();
    digioConfig.theme.primaryColor = "#F97316";
    digioConfig.logo =
        "https://www.gstatic.com/mobilesdk/160503_mobilesdk/logo/2x/firebase_28dp.png";
    digioConfig.environment = environment == 'production'
        ? Environment.PRODUCTION
        : Environment.SANDBOX;
    digioConfig.serviceMode = ServiceMode.OTP;

    _kycWorkflowPlugin = KycWorkflow(digioConfig);
    _kycWorkflowPlugin!.setGatewayEventListener((GatewayEvent? gatewayEvent) {
      print("gateway funnel event ${gatewayEvent?.event}");
    });

    return const Success(null);
  } catch (e) {
    return Failure('Failed to initialize KYC SDK: $e');
  }
}