Aller au contenu principal

Initialisation

Où initialiser

Initialisez le SDK au chargement de l'application — généralement dans main() ou dans initState() de votre widget d'entrée. Consultez Bonnes pratiques pour comprendre pourquoi vous ne devez pas initialiser lors du clic sur le bouton de capture.

Intégration des identifiants

Instanciez un objet UnicoConfig pour chaque plateforme avec les identifiants fournis par l'équipe Onboarding :

final _configIos = UnicoConfig(
getBundleIdentifier: "Your BundleIdentifier Ios",
getHostKey: "Your HostKey Ios");

final _configAndroid = UnicoConfig(
getBundleIdentifier: "Your BundleIdentifier Android",
getHostKey: "Your HostKey Android");

void initUnicoCamera() {
_unicoCheck = new UnicoCheck(
listener: this,
unicoConfigIos: _configIos,
unicoConfigAndroid: _configAndroid);
}
Implement UnicoListener

Implémentez l'interface UnicoListener dans votre classe d'état de widget et surchargez les méthodes de callback avec la logique métier de votre application :

class _MyHomePageState extends State<MyHomePage> implements UnicoListener {

late UnicoCheckBuilder _unicoCheck;

@override
void onErrorUnico(UnicoError error) {}

@override
void onUserClosedCameraManually() {}

@override
void onSystemChangedTypeCameraTimeoutFaceInference() {}

@override
void onSystemClosedCameraTimeoutSession() {}
}
Méthodes du listener obligatoires

Les quatre méthodes du listener ci-dessus doivent être créées dans votre projet (même sans aucune logique). Sinon, le projet ne compilera pas avec succès.

Sélection de l'environnement

Le choix de l'environnement s'effectue lors de l'initialisation. Utilisez l'enum UnicoEnvironment :

  • UnicoEnvironment.PROD — environnement de production
  • UnicoEnvironment.UAT — environnement UAT
_unicoCheck.setEnvironment(unicoEnvironment: UnicoEnvironment.UAT);

Pour la liste complète des types d'environnements disponibles, consultez API Reference > Initialization API.

Cycle de vie

L'authentification du SDK avec le backend prend quelques secondes. Initialisez tôt (au démarrage à froid de l'application), et non lorsque l'utilisateur appuie sur le bouton de capture — sinon l'utilisateur perçoit un délai entre l'appui et l'ouverture de la caméra.