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

## कहां initialize करें

SDK को **application load** पर initialize करें — आमतौर पर `main()` में या आपके entry widget के `initState()` में। यह क्यों नहीं करना चाहिए कि आप capture बटन click पर initialize करें — इसके विवरण के लिए [Best practices](/developers/sdks-and-tools/flutter/resources) देखें।

## Credentials एम्बेड करना

Onboarding team द्वारा प्रदान किए गए credentials के साथ प्रत्येक platform के लिए `UnicoConfig` object instantiate करें:

```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() एक UnicoCheckBuilder लौटाता है — इसका उपयोग configuration को chain करने और build() को call करने के लिए करें
  _unicoCheck = new UnicoCheck(
      listener: this,
      unicoConfigIos: _configIos,
      unicoConfigAndroid: _configAndroid);
}
```

## UnicoListener implement करें

अपने widget state class में `UnicoListener` interface implement करें और अपने application के business logic के साथ callback विधियों को override करें:

```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() {}
}
```

:::warning[अनिवार्य listener विधियां]
ऊपर की सभी चार listener विधियां आपके project में बनाई जानी चाहिए (चाहे बिना किसी logic के भी)। अन्यथा, project सफलतापूर्वक compile नहीं होगा।
:::

## Environment चयन

Environment का चुनाव initialization के दौरान किया जाता है। `UnicoEnvironment` enum का उपयोग करें:

- `UnicoEnvironment.PROD` — production environment
- `UnicoEnvironment.UAT` — UAT environment

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

उपलब्ध environment प्रकारों की पूरी सूची के लिए, [API Reference > Initialization API](/developers/sdks-and-tools/flutter/api-reference/initialization-api) देखें।

## Lifecycle

Backend के साथ SDK authentication में कुछ सेकंड लगते हैं। **जल्दी initialize करें** (app का cold start), जब उपयोगकर्ता capture बटन tap करे तब नहीं — अन्यथा उपयोगकर्ता tap और कैमरा खुलने के बीच देरी का अनुभव करता है।