flutter_idensic_mobile_sdk_plugin 1.10.1 copy "flutter_idensic_mobile_sdk_plugin: ^1.10.1" to clipboard
flutter_idensic_mobile_sdk_plugin: ^1.10.1 copied to clipboard

outdated

Flutter plugin exposing SumSub MobileSDK

example/lib/main.dart

import 'dart:async';

import 'package:flutter/material.dart';
import 'package:flutter_idensic_mobile_sdk_plugin/flutter_idensic_mobile_sdk_plugin.dart';

void launchSNSMobileSDK() async {

  final String apiUrl = "https://test-api.sumsub.com"; // https://api.sumsub.com
  final String accessToken = "your access token";

  final onTokenExpiration = () async {
    // call your backend to fetch a new access token (this is just an example)
    return Future<String>.delayed(Duration(seconds: 10), () {
      return "_act-f1cad3e4-8446-4fc3-b269-5be41da0347c";
    });
  };

  // Handlers
  final SNSStatusChangedHandler onStatusChanged = (SNSMobileSDKStatus newStatus, SNSMobileSDKStatus prevStatus) {
      print("The SDK status was changed: $prevStatus -> $newStatus");
  };

  final snsMobileSDK = SNSMobileSDK.builder(apiUrl)
    .withAccessToken(accessToken, onTokenExpiration)
    .withDebug(true)
    .withHandlers(onStatusChanged: onStatusChanged)
    .withSupportEmail("[email protected]")
    .build();

  final SNSMobileSDKResult result = await snsMobileSDK.launch();

  print("Completed with result: $result");
}

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Idensic Mobile SDK Plugin example app'),
        ),
        body: Container(
          alignment: Alignment.center,
          child: RaisedButton(onPressed: () => launchSNSMobileSDK(),
          child: Text("Launch SumSub SDK")),
        ),
      ),
    );
  }
}