fetchAndExecuteJavaScript function

Future<void> fetchAndExecuteJavaScript(
  1. String txnId,
  2. String clientId,
  3. String env
)

Implementation

Future<void> fetchAndExecuteJavaScript(String txnId,String clientId,String env) async {
  String url = 'https://fingerprint.app.bureau.id/index.js';
  if (env == 'SANDBOX') {
    url = 'https://fingerprint.app.stg.bureau.id/index.js';
  }

  try {
    ScriptElement script = ScriptElement();
    script.src = url;
    script.onLoad.listen((event) {
      String jsCode= '''
           window.isInitialized = false;
           function init(){
                window._Fingerprint.init({
                    sessionId: '$txnId',
                    clientId: '$clientId',
                    userId: '',
                    environment: '$env'
              });
              window.isInitialized = true;
           }
           if( window._Fingerprint){
             init();
           }
      ''';
      js.context.callMethod('eval', [jsCode]);

    });
    document.body?.append(script);
  } catch (e) {
    if (kDebugMode) {
      print('Error fetching or executing JavaScript: $e');
    }
  }
}