> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# मोबाइल KYC SDK: iOS, Android, RN, Flutter

> Didit के नेटिव KYC SDK: iOS, Android, React Native और Flutter के लिए NFC ई-पासपोर्ट और लाइवनेस। प्रति पूर्ण KYC जाँच $0.33 से, हर महीने $10 निःशुल्क।

> [!NOTE]
>
> ये संस्करण पहचान सत्यापन SDK पर लागू होते हैं। नेटिव प्रमाणीकरण मॉड्यूल और रैपर की रिलीज़ अलग होती है: देखें [प्रमाणीकरण क्विकस्टार्ट्स](https://docs.didit.me/hi/authentication/overview.md)।

हमारे आधिकारिक SDKs के साथ अपने मोबाइल एप्लिकेशन में Didit सत्यापन को नेटिव रूप से एकीकृत करें। WebView-आधारित इंटीग्रेशन की तुलना में नेटिव SDK **निर्बाध उपयोगकर्ता अनुभव**, **बेहतर प्रदर्शन** और **डिवाइस की क्षमताओं तक पूरी पहुँच** देते हैं।

> [!NOTE]
>
> ### **अनुशंसित तरीका**: सर्वोत्तम उपयोगकर्ता अनुभव के लिए WebView इंटीग्रेशन की जगह हमारे नेटिव SDK का उपयोग करें। नेटिव SDK कैमरा अनुमतियों, NFC पढ़ने और लाइवनेस डिटेक्शन की पूरी जटिलता को बिना किसी अतिरिक्त कार्य के संभाल लेते हैं।

***

## SDK उपलब्धता

| प्लेटफ़ॉर्म | वितरण | नवीनतम | NFC | न्यूनतम संस्करण | दस्तावेज़ीकरण |
| - | - | - | :-: | - | - |
| iOS | Swift Package Manager, CocoaPods | 4.13.2 | ✅ (iOS 15+) | iOS 13.0+ (core), iOS 15.0+ (NFC) | [iOS SDK गाइड](https://docs.didit.me/hi/integration/native-sdks/ios-sdk.md) |
| Android | Maven (कस्टम रिपॉज़िटरी, `me.didit:didit-sdk`) | 4.13.2 | ✅ | API 23+ (Android 6.0) | [Android SDK गाइड](https://docs.didit.me/hi/integration/native-sdks/android-sdk.md) |
| React Native | npm / yarn (`@didit-protocol/sdk-react-native`) | 4.13.2 | ✅ | RN 0.76+ (New Architecture), iOS 13.0+ / Android API 24+ | [React Native SDK गाइड](https://docs.didit.me/hi/integration/native-sdks/react-native-sdk.md) |
| Flutter | pub.dev (`didit_sdk`) | 4.13.2 | ✅ | Flutter 3.3+, Dart 3.11+, iOS 13.0+ / Android API 23+ | [Flutter SDK गाइड](https://docs.didit.me/hi/integration/native-sdks/flutter-sdk.md) |
| Web (JS) | npm (`@didit-protocol/sdk-web`) | 0.4.0 | — | कोई भी आधुनिक ब्राउज़र | [Web SDK गाइड](https://docs.didit.me/hi/integration/web-sdks/javascript-sdk.md) |

> [!NOTE]
>
> **बायोमेट्रिक सहमति के लिए नेटिव 4.10.0 या उसके बाद का संस्करण चाहिए।** इलिनॉय, टेक्सास या कोलोराडो कानून के दायरे में आने वाले लोगों के लिए Didit पहले चेहरा कैप्चर से पहले स्पष्ट [बायोमेट्रिक सहमति](https://docs.didit.me/hi/getting-started/biometric-consent.md) माँग सकता है। होस्टेड फ़्लो (Web SDK, WebView, ब्राउज़र) और नेटिव iOS तथा Android SDK 4.10.0 या उसके बाद का संस्करण यह चरण दिखाते हैं। React Native और Flutter उस रिलीज़ में यह चरण दिखाते हैं जो नेटिव 4.10.0 या उसके बाद के संस्करण को पिन करती है। 4.10.0 से कम का नेटिव SDK, या वह SDK जो अपना संस्करण नहीं बताता, यह चरण नहीं दिखा सकता: उसके सत्र पहले की तरह चलते हैं, और निर्णय `biometric_consent.status: "pending"` और `reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK"` के साथ रिपोर्ट होता है। यदि आप उन राज्यों में लोगों की पहचान करते हैं, तो अपग्रेड करें।

### 4.13.2 में नया क्या है

iOS पर, जो कैमरा खुलता है लेकिन कोई फ़्रेम नहीं देता, उससे फ़ोटो माँगने पर आपका ऐप अब क्रैश नहीं होता: हर फ़ोटो अनुरोध पहले एक चल रहे कैमरा सत्र की जाँच करता है जिसमें सक्रिय वीडियो कनेक्शन हो, और स्क्रीन उसकी कैमरा त्रुटि या स्किप दिखाती है।
Android पर, ID लुकअप सेल्फ़ी में, जो कैमरा कोई फ़्रेम नहीं देता उससे फ़ोटो माँगने पर अब अनिश्चित काल तक इंतज़ार करने के बजाय 5 सेकंड बाद स्क्रीन की कैमरा त्रुटि आती है।
वेलकम स्क्रीन पर, जब चरणों की सूची नीचे के फ़ेड से आगे जाती है, तो सूची के क्षैतिज केंद्र में एक गोल नीचे स्क्रॉल करें बटन दिखता है (राइट-टू-लेफ़्ट भाषाओं में भी), जैसा वेब फ़्लो में है। टैप करने पर सूची नीचे स्क्रॉल होती है, और सूची के अंत में तथा शीट खुली होने पर बटन छिप जाता है।
Android 4.13.1 एक अंतरिम रिलीज़ था जिसमें केवल नीचे स्क्रॉल करें बटन था; 4.13.2 इसे iOS, React Native और Flutter तक लाता है।
React Native 4.13.2 में Android रिलीज़ बिल्ड में लॉन्च क्रैश भी ठीक हुआ है, जो `proguard-android-optimize.txt` के साथ R8 से minify होते हैं: पैकेज अब अपने R8 नियम साथ भेजता है।
Flutter 4.13.2 Android Gradle Plugin 9 और उसके अंतर्निहित Kotlin के साथ भी बिल्ड होता है।

### 4.13.0 में नया क्या है

फ़ोन चरण में, हर +1 (US और Canada) नंबर पर कोड भेजें के नीचे एक छोटी कैरियर सूचना दिखती है ("मानक संदेश और डेटा दरें लागू हो सकती हैं"), जिसमें SMS की शर्तें और गोपनीयता नीति के लिंक होते हैं, व्यक्ति की भाषा में।
छोटी स्क्रीन पर सेल्फ़ी ओवल अपने नियंत्रणों के ऊपर फ़िट होता है, और हरा "हो गया" पिल, दस्तावेज़ फ़ोटो के बाद आने वाला "समझ गया", और "सेल्फ़ी ली गई" स्क्रीन हटा दिए गए हैं: कैप्चर की गई फ़ोटो सीधे प्रोसेसिंग पर जाती है।
जब दस्तावेज़ कैप्चर केवल फ़ॉलबैक हो और डिजिटल ID वॉलेट आगे हो, तो वॉलेट की लॉन्च स्क्रीन केवल वॉलेट दिखाती है, और वॉलेट का फिर से प्रयास सत्यापन को दस्तावेज़ लिंक के बिना खुला रखता है।
Didit जिन सभी देश कोड पर संदेश भेज सकता है, उनके लिए एक झंडा दिखाया जाता है और कभी भी गलत झंडा नहीं दिखाया जाता।
जो सैंडबॉक्स परिदृश्य पहले से शुरू हो चुके सत्र पर सेट किया गया हो, अब सामान्य त्रुटि के बजाय कारण दिखाता है।
Android पर Credential Manager वॉलेट पर "डिजिटल ID से सत्यापित करें" लिखा है, क्योंकि Google Wallet या कोई भी अन्य Android वॉलेट जिसमें संगत ID हो, इसका उत्तर दे सकता है। iOS यह विधि नहीं देता।

### 4.12.2 में नया क्या है

वेलकम स्क्रीन बाईं ओर संरेखित शीर्षक के ऊपर लोगो को केंद्रित करती है, और iOS ग्राहक का लोगो 72 pt ऊँचा दिखाता है, जैसे Android और वेब करते हैं।
KYB प्रमुख व्यक्ति चरण में, प्रतिनिधि जोड़ें खोलने पर प्रतिनिधि की भूमिका पहले से चुनी हुई होती है, और व्यक्ति को प्रतिनिधियों के अंतर्गत सहेजता है, भले ही वर्कफ़्लो कुछ भूमिकाएँ बंद कर दे।
प्रश्नावलियों में, छोटी स्क्रीन पर और बड़े टेक्स्ट पर "द्वारा सुरक्षित" बटन के नीचे स्थिर रहता है, पते के प्रश्न का देश पिकर पते के अनुरूप शीर्षक दिखाता है, और खुले ड्रॉपडाउन के कोने फ़ील्ड के कोनों के अनुरूप हो जाते हैं।

### 4.12.1 में नया क्या है

ऐसे iPhone पर जिसका स्टोरेज भरा हो, दस्तावेज़ और सेल्फ़ी कैप्चर अब अपना वीडियो रखते हैं: iOS SDK उन्हें मेमोरी में रिकॉर्ड करता है, और वीडियो फ़्रेम के बिना कोई रिकॉर्डिंग कभी अपलोड नहीं करता।
जो सर्वर उत्तर किसी शुरुआती उत्तर से पीछे रह जाता है, वह अब उस चरण को फिर नहीं खोलता जिसका उत्तर अभी दिया गया था (NFC, सेल्फ़ी या दस्तावेज़ चरण), iOS और Android दोनों पर।

### 4.12.0 में नया क्या है

वेब फ़्लो में दिखने वाले हर डिजिटल ID वॉलेट का लोगो (Mobile-ID, ConnectID, Finnish Trust Network, OneID, Bank iD, MojeID, FranceConnect, Auðkenni, Estonian ID-card और GOV.UK Wallet), वेब की तरह उसी सफ़ेद या काली प्लेट पर।
कैप्चर संकेत बताते हैं कि ऑटो-कैप्चर चालू न होने पर क्या करना है, वेलकम बड़े टेक्स्ट आकार पर अपना कानूनी वाक्य स्थिर रखता है, और सत्र शुरू करने से इनकार होने पर ऐसा दोबारा प्रयास नहीं दिखता जो काम नहीं कर सकता।
दस्तावेज़ और सेल्फ़ी कैमरों में शटर के बगल में कैमरा बदलें बटन है, और अपलोड करें को सुझाव में ले जाया गया है; कैमरे के ऊपर कोई शीट खुली हो तो कुछ भी अपने आप कैप्चर नहीं होता।
Android पर कैमरा चुनें शीट कैमरों को हर भाषा में "फ़्रंट कैमरा" और "बैक कैमरा" नाम देती है।

### 4.11.0 में नया क्या है

संस्करण 4.11.0 में वह सब भी शामिल है जो 4.10.0 के लिए योजना बनी थी, जो कभी प्रकाशित नहीं हुआ, इसलिए सीधे 4.9.1 से अपग्रेड करें।
फ़्लो में नया टॉप बार, शब्दों में प्रगति और नई बनाई गई वेलकम स्क्रीन वाला डिज़ाइन है।
स्वचालित दस्तावेज़ और सेल्फ़ी कैप्चर अब हर वेरिएंट में है, Didit के अपने हल्के डिटेक्टरों पर आधारित, इसलिए `Core` और `AutoDetection` वेरिएंट एक ही तरह कैप्चर करते हैं।
`AutoDetection` वेरिएंट और Android `didit-sdk-autodetection` आर्टिफ़ैक्ट अब बहिष्कृत हैं और `Core` के समान हैं, और Android `didit-sdk-autodetection-play` आर्टिफ़ैक्ट अब प्रकाशित नहीं होता।
नए चरण: बैंक सत्यापन, स्थान (`Core-Location`, `NFC-Location` और `All-Location` iOS वेरिएंट के माध्यम से वैकल्पिक रूप से चुना जाने वाला), ई-हस्ताक्षर और बायोमेट्रिक सहमति।

### 4.9.1 में नया क्या है

दस्तावेज़ और पते के प्रमाण वाले देश चयनकर्ता अब iOS और Android पर उपयोगकर्ता के IP पते से पहचाने गए देश पर खुलते हैं, भले ही यह जाँच स्क्रीन दिखने के बाद पूरी हो। सत्र में सेट किया गया देश या उपयोगकर्ता द्वारा चुना गया देश कभी ओवरराइड नहीं होता।
Android पर प्रश्नावली का अनुभाग शीर्षक और फ़ील्ड SDK की भाषा में दिखते हैं, और पूर्ण संस्करण में NFC पासपोर्ट स्कैनिंग अब क्रैश नहीं होती। दोनों प्लेटफ़ॉर्म पर रूसी और किर्गिज़ सत्यापन पाठ बेहतर किया गया है।

### 4.9.0 में नया क्या है

सभी नेटिव और क्रॉस-प्लेटफ़ॉर्म मोबाइल SDK अब सत्यापन स्वागत स्क्रीन पर वैकल्पिक भाषा चयनकर्ता देते हैं। वही संक्षिप्त, खोजने योग्य चयनकर्ता दिखाने के लिए `showLanguageSelector` को `true` पर सेट करें, जो वेब सत्यापन फ़्लो में इस्तेमाल होता है।
यह चयनकर्ता डिफ़ॉल्ट रूप से छिपा होता है, इसलिए मौजूदा इंटीग्रेशन तब तक अपना वर्तमान व्यवहार बनाए रखते हैं जब तक आप इसे सक्षम नहीं करते।

> [!NOTE]
>
> ### **वैकल्पिक**: यदि आपके प्लेटफ़ॉर्म के लिए नेटिव SDK अभी उपलब्ध नहीं है, तो आप [WebView इंटीग्रेशन](https://docs.didit.me/hi/integration/web-sdks/webview-in-ios-android.md) को फ़ॉलबैक के रूप में इस्तेमाल कर सकते हैं।

***

## सत्यापन सत्र का प्रवाह

हर नेटिव SDK एक ही Didit सत्यापन सत्र का उपयोग करता है। प्रवाह इस प्रकार है:

1. **आपका बैकएंड** `workflow_id` के साथ कोई भी वैकल्पिक संदर्भ (`vendor_data`, `contact_details`, `expected_details`, `metadata`, `callback`) भेजकर [`POST /v3/session/`](https://docs.didit.me/hi/sessions-api/create-session) को कॉल करता है।
2. Didit एक `session_id`, एक अल्पकालिक `session_token`, और एक होस्टेड `url` लौटाता है।
3. **आपका मोबाइल ऐप** आपके बैकएंड से `session_token` प्राप्त करता है और उसे SDK को पास करता है (`startVerification(token: …)`)।
4. नेटिव SDK सत्यापन UI खोलता है, उपयोगकर्ता चरण पूरे करता है, और SDK सत्र की अंतिम `status` (`Approved`, `Declined`, `In Review`, आदि) के साथ परिणाम लौटाता है।
5. **आपका बैकएंड** [webhook](https://docs.didit.me/hi/integration/webhooks.md) (`webhook_type: "status.updated"`) के माध्यम से पूरा निर्णय प्राप्त करता है और उसे सहेजता है।

> [!NOTE]
>
> SDK का परिणाम आपको वर्कफ़्लो का नतीजा (स्थिति) बताता है। पूरा निर्णय, जिसमें दस्तावेज़ के फ़ील्ड, चेहरा मिलान स्कोर, AML हिट, NFC डेटा और चेतावनियाँ शामिल हैं, webhook के ज़रिए आपके सर्वर तक पहुँचता है, और इसे [सत्र का निर्णय प्राप्त करें](https://docs.didit.me/hi/sessions-api/retrieve-session.md) endpoint से भी लाया जा सकता है। प्राधिकरण से जुड़े निर्णयों के लिए कभी भी केवल क्लाइंट-साइड परिणाम पर भरोसा न करें।

सभी नेटिव SDK **UniLink** मोड (केवल वर्कफ़्लो ID, बैकएंड की आवश्यकता नहीं) का भी समर्थन करते हैं। त्वरित प्रोटोटाइप के लिए UniLink का उपयोग करें, और प्रोडक्शन के लिए सत्र टोकन विधि का।

***

## iOS SDK

**कब उपयोग करें**: iOS 13+ को लक्षित करने वाले नेटिव Swift / SwiftUI / UIKit ऐप्स के लिए।

न्यूनतम कॉन्फ़िगरेशन की आवश्यकता वाला एक हल्का, सर्वर-संचालित iOS SDK, जो पहचान सत्यापन के लिए बनाया गया है।

> [card] [GitHub रिपॉज़िटरी](https://github.com/didit-protocol/sdk-ios)
>
> GitHub पर सोर्स कोड और उदाहरण देखें

**मुख्य विशेषताएँ:**

* SwiftUI और UIKit समर्थन
* NFC पासपोर्ट/ID रीडिंग (iOS 15+; बिना NFC वाले `Core` और `AutoDetection` वेरिएंट NFC और OpenSSL हटा देते हैं, और iOS 13+ पर डिप्लॉय होते हैं)
* 54 भाषाएँ समर्थित
* अनुकूलन योग्य UI थीमिंग
* सत्र टोकन या वर्कफ़्लो ID से इंटीग्रेशन

**त्वरित शुरुआत:**

```swift theme={null}
import DiditSDK

// Start verification
DiditSdk.shared.startVerification(token: "your-session-token")

// Handle result
.diditVerification { result in
    switch result {
    case .completed(let session):
        print("Status: \(session.status)")
    case .cancelled:
        print("Cancelled")
    case .failed(let error, _):
        print("Error: \(error)")
    }
}
```

→ [**iOS SDK का पूरा दस्तावेज़**](https://docs.didit.me/hi/integration/native-sdks/ios-sdk.md)

***

## Android SDK

**कब उपयोग करें**: Android 6.0 (API 23) या उससे ऊपर को लक्षित करने वाले नेटिव Kotlin / Jetpack Compose / Java ऐप्स के लिए।

न्यूनतम कॉन्फ़िगरेशन की आवश्यकता वाला एक हल्का, सर्वर-संचालित Android SDK, जो पहचान सत्यापन के लिए बनाया गया है।

> [card] [GitHub रिपॉज़िटरी](https://github.com/didit-protocol/sdk-android)
>
> GitHub पर सोर्स कोड और उदाहरण देखें

**मुख्य विशेषताएँ:**

* Kotlin और Jetpack Compose समर्थन
* NFC पासपोर्ट/ID रीडिंग (ऑप्ट-इन `me.didit:didit-sdk-core` आर्टिफ़ैक्ट NFC निर्भरताएँ हटा देता है)
* API 24+ पर ML-आधारित दस्तावेज़ और चेहरे का स्वचालित पता लगाना (API 23 पर मैन्युअल कैप्चर का सुचारू विकल्प)
* 54 भाषाएँ समर्थित
* अनुकूलन योग्य UI थीमिंग
* सत्र टोकन या वर्कफ़्लो ID से इंटीग्रेशन

**त्वरित शुरुआत:**

```kotlin theme={null}
import me.didit.sdk.DiditSdk
import me.didit.sdk.VerificationResult

// Initialize in Application.onCreate()
DiditSdk.initialize(this)

// Start verification
DiditSdk.startVerification(token = "your-session-token") { result ->
    when (result) {
        is VerificationResult.Completed -> Log.d("Didit", "Status: ${result.session.status}")
        is VerificationResult.Cancelled -> Log.d("Didit", "Cancelled")
        is VerificationResult.Failed -> Log.e("Didit", "Error: ${result.error.message}")
    }
}
```

→ [**Android SDK का पूरा दस्तावेज़**](https://docs.didit.me/hi/integration/native-sdks/android-sdk.md)

***

## React Native SDK

**कब उपयोग करें**: क्रॉस-प्लेटफ़ॉर्म React Native या Expo ऐप्स के लिए, जिन्हें iOS और Android पर एक ही TypeScript API चाहिए (RN 0.76+, New Architecture)।

एक क्रॉस-प्लेटफ़ॉर्म React Native SDK, जो नेटिव iOS और Android SDK को एक एकीकृत TypeScript API में लपेटता है।

> [card] [GitHub रिपॉज़िटरी](https://github.com/didit-protocol/sdk-react-native)
>
> GitHub पर सोर्स कोड और उदाहरण देखें

**मुख्य विशेषताएँ:**

* iOS और Android दोनों के लिए एकल TypeScript API
* शून्य-कॉन्फ़िगरेशन वाला कॉन्फ़िग प्लगइन के साथ Expo समर्थन (डेवलपमेंट बिल्ड आवश्यक है, Expo Go समर्थित नहीं है)
* React Native CLI समर्थन
* NFC पासपोर्ट/ID रीडिंग (`DIDIT_SDK_IOS_NFC_ENABLED=false` / `diditSdkAndroidNfcEnabled=false` से बंद करें)
* 54 भाषाएँ समर्थित (नेटिव SDK से प्राप्त)
* सत्र टोकन या वर्कफ़्लो ID से इंटीग्रेशन

**त्वरित शुरुआत:**

```tsx theme={null}
import { startVerification, VerificationStatus } from '@didit-protocol/sdk-react-native';

const result = await startVerification('your-session-token');

switch (result.type) {
  case 'completed':
    console.log('Status:', result.session.status);
    break;
  case 'cancelled':
    console.log('Cancelled');
    break;
  case 'failed':
    console.log('Error:', result.error.message);
    break;
}
```

→ [**React Native SDK का पूरा दस्तावेज़**](https://docs.didit.me/hi/integration/native-sdks/react-native-sdk.md)

***

## Flutter SDK

**कब उपयोग करें**: क्रॉस-प्लेटफ़ॉर्म Flutter ऐप्स के लिए, जिन्हें iOS और Android पर एक ही Dart API चाहिए (Flutter 3.3+, Dart 3.11+)।

एक क्रॉस-प्लेटफ़ॉर्म Flutter SDK, जो नेटिव iOS और Android SDK को एक एकीकृत Dart API में लपेटता है।

> [card] [pub.dev पैकेज](https://pub.dev/packages/didit_sdk)
>
> pub.dev पर पैकेज देखें

**मुख्य विशेषताएँ:**

* iOS और Android दोनों के लिए एकल Dart API
* नेटिव SDK के साथ प्लैटफ़ॉर्म चैनल इंटीग्रेशन
* NFC पासपोर्ट/ID रीडिंग (`DIDIT_SDK_IOS_NFC_ENABLED=false` / `diditSdkAndroidNfcEnabled=false` से बंद करें)
* 54 भाषाएँ समर्थित (नेटिव SDK से प्राप्त)
* सत्र टोकन या वर्कफ़्लो ID से इंटीग्रेशन

**त्वरित शुरुआत:**

```dart theme={null}
import 'package:didit_sdk/sdk_flutter.dart';

final result = await DiditSdk.startVerification('your-session-token');

switch (result) {
  case VerificationCompleted(:final session):
    print('Status: ${session.status}');
  case VerificationCancelled():
    print('Cancelled');
  case VerificationFailed(:final error):
    print('Error: ${error.message}');
}
```

→ [**Flutter SDK का पूरा दस्तावेज़**](https://docs.didit.me/hi/integration/native-sdks/flutter-sdk.md)

***

## Web SDK (JavaScript)

**कब उपयोग करें**: ब्राउज़र-आधारित ऐप्स और वेब फ़्रेमवर्क के लिए (React, Vue, Angular, Next.js, Nuxt, Svelte, vanilla JS)। Web SDK होस्टेड सत्यापन प्रवाह को मोडल या इनलाइन iframe में खोलता है। मोबाइल ऐप्स के लिए ऊपर दिए गए नेटिव SDK को प्राथमिकता दें।

एक JavaScript SDK, जो वेब ऐप्लिकेशन के लिए है और React, Vue, Angular, Next.js, Nuxt, Svelte तथा vanilla JS का समर्थन करता है।

> [card] [NPM पैकेज](https://www.npmjs.com/package/@didit-protocol/sdk-web)
>
> npm पर पैकेज देखें

**मुख्य विशेषताएँ:**

* प्रोग्रामेटिक सत्र प्रबंधन और इवेंट कॉलबैक
* React, Vue, Angular, Next.js, Nuxt, Svelte और vanilla JS समर्थन
* पूर्ण TypeScript समर्थन
* मोडल और इनलाइन (एम्बेडेड) मोड
* कस्टम UI के लिए स्टेट प्रबंधन

**त्वरित शुरुआत:**

```typescript theme={null}
import { DiditSdk } from '@didit-protocol/sdk-web';

DiditSdk.shared.onComplete = (result) => {
  switch (result.type) {
    case 'completed':
      console.log('Status:', result.session?.status);
      break;
    case 'cancelled':
      console.log('Cancelled');
      break;
    case 'failed':
      console.error('Error:', result.error?.message);
      break;
  }
};

DiditSdk.shared.startVerification({
  url: 'https://verify.didit.me/session/session-token'
});
```

→ [**JavaScript SDK का पूरा दस्तावेज़**](https://docs.didit.me/hi/integration/web-sdks/javascript-sdk.md) | [**सभी Web SDK**](https://docs.didit.me/hi/integration/web-sdks/overview.md)

***

## इंटीग्रेशन कैसे चुनें

जब आपको NFC ई-पासपोर्ट रीडिंग, सबसे कम विलंबता वाला कैमरा कैप्चर और ऐप के भीतर ऐसा अनुभव चाहिए जो आपकी अन्य नेटिव स्क्रीन से अलग न लगे, तब नेटिव SDK सबसे उपयुक्त हैं। जब आप नेटिव SDK अपडेट जारी नहीं कर सकते (उदाहरण के लिए, ऐसे brownfield ऐप जिन्हें दोबारा नहीं बनाया जा सकता, या ऐसे प्लेटफ़ॉर्म जिनके लिए Didit का कोई नेटिव SDK नहीं है), तो फ़ॉलबैक के रूप में **WebView Integration** का उपयोग करें।

| सुविधा | नेटिव SDK | WebView |
| - | :-: | :-: |
| उपयोगकर्ता अनुभव | नेटिव स्क्रीन, पूर्ण जेस्चर समर्थन | सिस्टम ब्राउज़र/WebView में होस्ट किया गया वेब फ़्लो |
| कैमरा कैप्चर | डिवाइस पर, ID और सेल्फ़ी के लिए SDK-ट्यून्ड | ब्राउज़र पर निर्भर |
| NFC ई-पासपोर्ट रीडिंग | ✅ समर्थित (iOS 15+, NFC-सक्षम Android) | ❌ उपलब्ध नहीं |
| लाइवनेस प्रदर्शन | नेटिव ML पाइपलाइन | ब्राउज़र ML पाइपलाइन |
| व्हाइट लेबल थीमिंग | ✅ कंसोल-आधारित | ✅ कंसोल-आधारित |
| App Store / Play Store समीक्षा पर प्रभाव | NFC एंटाइटलमेंट जोड़ता है और बाइनरी आकार बढ़ाता है | कोई नहीं, बस एक URL खुलता है |
| कब उपयोग करें | प्रोडक्शन ऐप, NFC वर्कफ़्लो, सर्वोत्तम UX | त्वरित इंटीग्रेशन, केवल वेब स्टैक, फ़ॉलबैक |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.