---
title: साइलेंट पुनर्सत्यापन
description: साइलेंट पुनर्सत्यापन इंजन का उपयोग करता है, जो Unico के नेटवर्क प्रभाव के भीतर उपयोगकर्ता के व्यवहारिक संदर्भ का विश्लेषण करता है और वर्तमान लेनदेन के लिए विश्वास संकेत प्रदान करता है। दूसरे शब्दों में, हम लेनदेन में अपेक्षित उपयोगकर्ता होने के विश्वास स्तर को प्रदान करते हैं।
canonical: https://developer.unico.io/hi/developers/sdks-and-tools/flutter/capture-flow/capture-types/silent-revalidation
locale: hi
generated_by: markdown-export
---

साइलेंट पुनर्सत्यापन इंजन का उपयोग करता है, जो Unico के नेटवर्क प्रभाव के भीतर उपयोगकर्ता के व्यवहारिक संदर्भ का विश्लेषण करता है और वर्तमान लेनदेन के लिए विश्वास संकेत प्रदान करता है। दूसरे शब्दों में, हम लेनदेन में अपेक्षित उपयोगकर्ता होने के विश्वास स्तर को प्रदान करते हैं।

:::info[आवश्यकता]
न्यूनतम संस्करण: `4.62.0`
:::

## UnicoCheckPrepareInfo विशेषताएँ

| विशेषता | प्रकार | आवश्यक | विवरण |
|---|---|:-:|---|
| `externalUserId` | `String` | ✅ | आपके सिस्टम में उपयोगकर्ता पहचानकर्ता। ट्रांसमिशन से पहले SHA-256 के साथ स्वचालित रूप से हैश किया जाता है, कभी भी प्लेन टेक्स्ट में नहीं भेजा जाता। |

## साइलेंट पुनर्सत्यापन शुरू करना

****चरण 1** — नेटिव कोड में `initializeSDK` को इम्प्लीमेंट करें**

`initializeSDK` को Dart में एक्सपोज़ नहीं किया गया है। इसे Flutter इंजन शुरू होने से पहले चलना होता है, इसलिए आप इसे अपने ऐप के नेटिव कोड में कॉल करते हैं — Android पर `Application.onCreate` और iOS पर `application(_:didFinishLaunchingWithOptions:)`।

  :::warning[इसे ऐप लॉन्च पर कॉल करें]
  `UnicoSDK.initializeSDK` को ऐप लॉन्च पर यथासंभव जल्द से जल्द कॉल किया जाना चाहिए। इसे बाद में कॉल करने से बैकग्राउंड प्रोसेसिंग समय कम हो जाता है और अनिर्णायक (inconclusive) प्रमाणीकरण प्रतिक्रियाओं की संभावना बढ़ जाती है।
  :::

  ### Android

    ```kotlin
    import android.app.Application
    import com.acesso.acessobio_android.onboarding.UnicoSDK
    import com.acesso.acessobio_android.onboarding.models.Environment
    import com.acesso.acessobio_android.onboarding.models.UnicoSDKConfig

    class MainApplication : Application() {
        override fun onCreate() {
            super.onCreate()

            UnicoSDK.initializeSDK(
                this,
                UnicoSDKConfig(
                    sdkKey = "your_sdk_key",
                    bundleId = "your_bundle_id",
                    environment = Environment.UAT
                )
            )
        }
    }
    ```

    `android/app/src/main/AndroidManifest.xml` में क्लास को रजिस्टर करें:

    ```xml
    <application android:name=".MainApplication">
    ```

    प्लगइन नेटिव कैप्चर SDK को आपके एप्लिकेशन के लिए एक्सपोज़ करता है, इसलिए `UnicoSDK` पहले से ही आपके compile classpath पर है — `android/app/build.gradle` में किसी अतिरिक्त डिपेंडेंसी की आवश्यकता नहीं है।

### iOS

    ```swift
    import AcessoBio
    import Flutter
    import UIKit

    @main
    class AppDelegate: FlutterAppDelegate {
        override func application(
            _ application: UIApplication,
            didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
        ) -> Bool {
            UnicoSDK.initializeSDK(config: YourUnicoConfig(), environment: .UAT)

            GeneratedPluginRegistrant.register(with: self)
            return super.application(application, didFinishLaunchingWithOptions: launchOptions)
        }
    }
    ```

    `config` एक `AcessoBioConfigDataSource` है — `sdkKey`, `getHostKey()` से आता है और bundle, `getBundleIdentifier()` से:

    ```swift
    final class YourUnicoConfig: NSObject, AcessoBioConfigDataSource {
        func getBundleIdentifier() -> String { "your_bundle_id" }
        func getHostKey() -> String { "your_sdk_key" }
    }
    ```

  यदि `environment` को छोड़ दिया जाता है, तो डिफ़ॉल्ट production होता है।

****चरण 2** — `startSilentValidation` को इम्प्लीमेंट करें**

`initializeSDK` के बाद, पहले से चल रहे कलेक्शन को पहचाने गए उपयोगकर्ता के साथ जोड़ने के लिए `externalUserId` वाले `UnicoCheckPrepareInfo` के साथ `startSilentValidation` को कॉल करें।

  ```dart
  import 'package:unico_check/unico_check.dart';

  try {
    await UnicoSilentAuthDefault().startSilentValidation(
      UnicoCheckPrepareInfo(externalUserId: 'external_user_id'),
    );
  } on UnicoError catch (error) {
    // error.code, error.description, error.info
  }
  ```

  रिटर्न किया गया `Future` तब पूरा होता है जब वैलिडेशन सफलतापूर्वक शुरू हो जाता है, और विफलता पर `UnicoError` थ्रो करता है।

  यदि वैलिडेशन फ्लो की शुरुआत में होता है, उदाहरण के लिए लॉगिन के समय, तो चरण 3 पर आगे बढ़ने से पहले `Future` के पूरा होने की प्रतीक्षा करें।

  ## त्रुटियाँ

  | कोड | अर्थ |
  |---|---|
  | `75001` | SDK इनिशियलाइज़ नहीं किया गया है। `initializeSDK` को कॉल नहीं किया गया था, अभी तक पूरा नहीं हुआ है, या विफल हो गया। |
  | `75000` | सामान्य कैप्चर विफलता। |

  `UnicoError.info` उस फ्लो के चरण को दर्शाता है जो विफल हुआ। यह iOS पर प्रदान किया जाता है और Android पर सदैव null होता है।

****चरण 3** — प्रोसेस बनाएँ और प्रमाणित करें**

वैलिडेशन चल रहे होने के दौरान, प्रमाणीकरण पूरा करने के लिए वेरिफिकेशन प्रोसेस बनाएँ। देखें [API Reference ▸ API ▸ Create Process](/developers/api-reference/api/post-processes)।

  रिक्वेस्ट बॉडी में वही `externalUserId` शामिल करें जो चरण 2 में `UnicoCheckPrepareInfo` में भेजा गया था — यही बैकएंड को प्रोसेस निर्माण को पहले से चल रहे वैलिडेशन के साथ सहसंबंधित (correlate) करने की अनुमति देता है।

  ```bash
  curl -X POST https://api.id.unico.app/processes/v1 \
    -H "Authorization: Bearer $TOKEN" \
    -H "APIKEY: $API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "subject": {
        "duiType": 1,
        "code": "12345678909",
        "name": "Luke Skywalker",
        "gender": "M",
        "birthDate": "2000-05-20",
        "email": "luke@example.com",
        "phone": "5519725570707"
      },
      "useCase": "Onboarding",
      "externalUserId": "external_user_id"
    }'
  ```

  प्रतिक्रिया (response) में प्रमाणीकरण परिणाम के साथ `silentAuth.result` फ़ील्ड शामिल होता है:

  ```json
  {
      "id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
      "status": 3,
      "silentAuth": {
          "result": "yes"
      }
  }
  ```

  | फ़ील्ड | प्रकार | विवरण |
  |---|---|---|
  | `silentAuth.result` | string | `yes` या `no` — संभावित मान नीचे देखें। |

  <details>
  **`silentAuth.result` — संभावित मान**

  | मान | अर्थ |
  |---|---|
  | `yes` | प्रमाणीकरण स्वीकृत, उपयोगकर्ता को पर्याप्त विश्वास के साथ पहचाना गया, किसी अतिरिक्त कैप्चर की आवश्यकता नहीं है। |
  | `no` | साइलेंट रूप से स्वीकृत करने के लिए अपर्याप्त डेटा। बायोमेट्रिक्स (सेल्फी) या किसी अन्य वैकल्पिक विधि के माध्यम से प्रमाणीकरण करने की सिफारिश की जाती है। |

</details>