---
title: Initialisierung
canonical: https://developer.unico.io/de/dual-api/developers/sdks-and-tools/flutter/initialization
locale: de
generated_by: markdown-export
---

## Where to initialize

Initialisieren Sie das SDK beim **Anwendungsstart** — typischerweise in `main()` oder in `initState()` Ihres Einstiegs-Widgets. Weitere Details dazu, warum Sie die Initialisierung **nicht** beim Klick auf die Aufnahme-Schaltfläche vornehmen sollten, finden Sie unter [Best Practices](/developers/sdks-and-tools/flutter/resources).

## Embedding credentials

Implementieren Sie die `UnicoConfig` für beide Plattformen mit den vom Onboarding-Team bereitgestellten Anmeldedaten:

```dart
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() gibt einen UnicoCheckBuilder zurück — damit können Sie die Konfiguration verketten und build() aufrufen
  _unicoCheck = new UnicoCheck(
      listener: this,
      unicoConfigIos: _configIos,
      unicoConfigAndroid: _configAndroid);
}
```

## Implement UnicoListener

Erstellen Sie den Builder (generiert über das `UnicoCheckBuilder`-Interface) und stellen Sie den Kontext sowie die Implementierung der `UnicoListener`-Klasse bereit. Überschreiben Sie die Callback-Methoden mit der Geschäftslogik Ihrer Anwendung:

```dart
class _MyHomePageState extends State<MyHomePage> implements UnicoListener {

  late UnicoCheckBuilder _unicoCheck;

  @override
  void onErrorUnico(UnicoError error) {}

  @override
  void onUserClosedCameraManually() {}

  @override
  void onSystemChangedTypeCameraTimeoutFaceInference() {}

  @override
  void onSystemClosedCameraTimeoutSession() {}
}
```

:::danger[Obligatorische Listener-Methoden]
Alle vier oben genannten Listener-Methoden müssen in Ihrem Projekt erstellt werden (auch ohne Logik). Andernfalls wird das Projekt nicht erfolgreich kompiliert.
:::

## Environment selection

Die Wahl zwischen **Sandbox** und **Produktion** erfolgt bei der Initialisierung. Verwenden Sie das `UnicoEnvironment`-Enum:

- `UnicoEnvironment.PROD` — Produktionsumgebung
- `UnicoEnvironment.UAT` — Staging-Umgebung

```dart
_unicoCheck.setEnvironment(unicoEnvironment: UnicoEnvironment.UAT);
```

Die vollständige Liste der verfügbaren Umgebungstypen finden Sie unter [API-Referenz > Initialisierungs-API](/developers/sdks-and-tools/flutter/api-reference/initialization-api).

## Lifecycle

Die SDK-Authentifizierung beim Backend dauert einige Sekunden. **Initialisieren Sie frühzeitig** (beim Kaltstart der App), nicht wenn der Benutzer auf die Aufnahme-Schaltfläche tippt — andernfalls entsteht eine wahrgenommene Verzögerung zwischen dem Tippen und dem Öffnen der Kamera.